技巧 二分排序

#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
");
        else
        {
            int pos=upper_bound(a, a+n, k)-a;
            printf("%d
", pos);
        }
    }
    return 0;
}
原文地址:https://www.cnblogs.com/wangmenghan/p/5943728.html