二分答案
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cstring>
#define maxn 100005
using namespace std;
int price[maxn];
int main()
{
int n,q;
scanf(
"%d",&n);
for(
int i =
0;i < n;i ++)
scanf(
"%d",&price[i]);
sort(price,price+n);
scanf(
"%d",&q);
for(
int i =
1;i < q;i ++){
int s,e,m,pp;
scanf(
"%d",&pp);
s =
0,e = n -
1;
while(s <= e){
m = (s+e) >>
1;
if(price[m] <= pp) s = m +
1;
else e = m -
1;
}
cout << s << endl;
}
return 0;
}
转载请注明原文地址: https://ju.6miu.com/read-1298899.html