题目大意就是给你一个数n,然后给n个数,再给一个数p,给p个数 让你求给定的p比n个数大的个数
题目链接:706B
ac代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
int n,m;
const int N=100010;
#define MM(x,y) memset(x,y,sizeof(x))
int a[N];
int b[N];
int yy;
bool cmp(int x,int y)
{
return x<y;
}
int main()
{
int i,j,sum,p,pos;
while(~scanf("%d",&n))
{
sum=0;
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
}
sort(a,a+n,cmp);
scanf("%d",&p);
for(i=0;i<p;i++)
{
scanf("%d",&b[i]);
}
for(i=0;i<p;i++)
{
int l=0,r=n-1,mid;
while(l<=r)
{
mid=(l+r)/2;
if(b[i]>=a[mid])
l=mid+1;
else
r=mid-1;
}
cout<<l<<endl;
}
}
return 0;
}