技巧 二分排序

#include <bits/stdc++.h>
#define MAXN 100000+10
using namespace std;

int a[];

int main(void)
{
    int n, t;
    cin >> n;
    for(int i=0; i<n; i++)
    scanf("%d", &a[i]);
    sort(a, a+n);
    cin >> t;
    while(t--)
    {
        int k;
        cin >> k;
        if(k<a[0])  printf("0\n");
        else
        {
            int pos=upper_bound(a, a+n, k)-a;
            printf("%d\n", pos);
        }
    }
    return 0;
}

 

posted @ 2016-10-09 20:48  俺叫王梦涵  阅读(139)  评论(0编辑  收藏  举报