最小的最大与最大的最小(0327)

Time limit(ms): 2500 Memory limit(kb): 65535 Submission: 329 Accepted: 18
 
问题描述

又是一个数据处理题(>_<)。还是直接看Input吧。

输入

一组测试实例。 Line 1:两个数n, m (1 <= n <= 1000000, 1 <= m <= 100000),n表示数字个数,m表示查询次数。 Line 2:包含n个整数A(i)(0 <= A(i) <= 1000000000)。两个数之间以空格隔开。 接下来m行:每行包含两个整数a,b(1 <= a <= 2, -1000000000 <= b <= 1000000000)。表示一次查询。当a = 1时,输出n个数中比b小的数的最大值。当a = 2时,输出n个数中比b大的数的最小值。如果不存在满足条件的数,则输出-1。

输出

每于每一次查询,输出答案,每个答案占一行。

样例输入
5 2
1 2 3 3 5
1 3
2 5

样例输出
2
-1
 
Hint
SCPC_Zhangjian
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
#define INF 0x7fffffff
#define N 1000010
 
int n,m;
int a[N];
 
int low_bound(int k)
{
    int l=,r=n+;
    while(l<r)
    {
        int m=l+(r-l)/;
        if(a[m]>=k) r=m;
        else l=m+;
    }
    return l;
}
int up_bound(int k)
{
    int l=,r=n+;
    while(l<r)
    {
        int m=l+(r-l)/;
        if(a[m]<=k) l=m+;
        else r=m;
    }
    return l;
}
 
int main()
{
    int i,j,x;
    scanf("%d%d",&n,&m);
    for(i=;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }
    sort(a+,a+n+);  //逗比了、没排序、一直WA、受不了= =
    while(m--)
    {
        int op,x;
        scanf("%d%d",&op,&x);
        if(op== && a[]>=x || op== && a[n]<=x)
        {
            cout<<-<<endl;
            continue;
        }
        if(op==)
        {
            int ans=low_bound(x);
            ans--;
            cout<<a[ans]<<endl;
        }
        else
        {
            int ans=up_bound(x);
            cout<<a[ans]<<endl;
        }
    }
    return ;
}

[swustoj 327] 最小的最大与最大的最小的更多相关文章

  1. 最小包围多边形(凸包;最小包围点集)——C代码例子

    本文来自:http://alienryderflex.com/smallest_enclosing_polygon/ 这个C代码例子需要一群2维点集,如下图所示: 要获得包含这些点的最小多边形如下图所 ...

  2. POJ 2125 Destroying The Graph (二分图最小点权覆盖集+输出最小割方案)

    题意 有一个图, 两种操作,一种是删除某点的所有出边,一种是删除某点的所有入边,各个点的不同操作分别有一个花费,现在我们想把这个图的边都删除掉,需要的最小花费是多少. 思路 很明显的二分图最小点权覆盖 ...

  3. 能量最小化初探,graphcuts能量最小化调用

    1.相对于能量函数来说,能量最小化的办法都有哪些? 梯度下降 模拟退火 图割 2.这个 跟最优化问题的求解,有什么联系跟区别呢? 基本上差不多,其实就是求出来了函数的一个最小值,我们看问题的时候不妨把 ...

  4. 最小正子序列(序列之和最小,同时满足和值要最小)(数据结构与算法分析——C语言描述第二章习题2.12第二问)

    #include "stdio.h" #include "stdlib.h" #define random(x) (rand()%x) void creat_a ...

  5. bzoj 2229: [Zjoi2011]最小割【Gomory–Hu tree最小割树】

    这个算法详见http://www.cnblogs.com/lokiii/p/8191573.html 求出两两之间最小割之后暴力统计即可 #include<iostream> #inclu ...

  6. POJ 2125 Destroying the Graph 二分图最小点权覆盖

    Destroying The Graph Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 8198   Accepted: 2 ...

  7. AOPR软件最小化消失了

    结合日常使用软件的经历,我们都是选择最小化按钮后,点击状态栏中最小化图标即可恢复软件窗口.在使用Advanced Office Password Recovery的过程中,有时会出现点击最小化按钮后在 ...

  8. ACM/ICPC 之 卡卡的矩阵旅行-最小费用最大流(可做模板)(POJ3422)

    将每个点拆分成原点A与伪点B,A->B有两条单向路(邻接表实现时需要建立一条反向的空边,并保证环路费用和为0),一条残留容量为1,费用为本身的负值(便于计算最短路),另一条残留容量+∞,费用为0 ...

  9. hdu 4966 GGS-DDU (最小树形图)

    比较好的讲解:http://blog.csdn.net/wsniyufang/article/details/6747392 view code//首先为除根之外的每个点选定一条入边,这条入边一定要是 ...

随机推荐

  1. Python OS模块标准库的系统接口及操作方法

    Python OS模块标准库的系统接口及操作方法 os.name 返回当前操作系统名,定义了'posix','nt','mac','os2','ce','java'(我使用win7/python3.1 ...

  2. Could not retrieve mirrorlist http://mirrorlist.centos.org || PYCURL ERROR 6

    yum:Could not retrieve mirrorlist http://mirrorlist.centos.org || PYCURL ERROR 6 通过centos安装openldap的 ...

  3. Cube and EarthDistance

    前言:项目中用到了postgreSQL中的earthdistance()函数功能计算地球上两点之间的距离,中文的资料太少了,我找到了一篇英文的.讲的很好的文章 ,特此翻译,希望能够帮助到以后用到ear ...

  4. 高性能图文混排框架,构架顺滑的iOS应用-b

    About GallopGallop是一个功能强大.性能优秀的图文混排框架. Features主要用于解决以下需求: 滚动列表的性能优化.Gallop使用异步绘制.视图层级合并.观察mainRunlo ...

  5. 2338: [HNOI2011]数矩形 - BZOJ

    因为已经看了一眼题解,知道是算中点和长度,相同时构成一个矩形,所以就把所有的线段算出来,然后排序,相同的就更新答案 为了避免误差,我们都用整数存,中点直接相加就行了,没必要除2,长度也只要平方就行了, ...

  6. HIBERNATE一对一双向外键联合主键关联

    HIBERNATE一对一双向外键联合主键关联: 一. 创建主键类:这个主键必须实现serializedable接口和重写其中的hashCode方法和equals方法:为主键类添加一个叫做@Embedd ...

  7. BZOJ3404: [Usaco2009 Open]Cow Digit Game又见数字游戏

    3404: [Usaco2009 Open]Cow Digit Game又见数字游戏 Time Limit: 3 Sec  Memory Limit: 128 MBSubmit: 47  Solved ...

  8. leetcode4 Valid Palindrome回文数

    Valid Palindrome回文数 whowhoha@outlook.com Question: Given a string, determine if it is a palindrome, ...

  9. spoj 247

    不管行列   总是先切割切割费用大的  代码比较烂 ...... #include <iostream> #include <cstdio> #include <cstr ...

  10. 1962-Fibonacci

    描述 This is an easy problem.I think Fibonacci sequence is familiar to you.Now there is another one. H ...