不知道哪错了。
#include<bits/stdc++.h>
using namespace std;
const int MAXN=2*10e5;
int m,n,i,j,ans;
struct num
{
int val;
int pts;
}num_m[MAXN],num_n[MAXN];
bool cmp(num a,num b)
{
if(a.val!=b.val)
return a.val<b.val;
else
return a.pts<b.pts;
}
signed main()
{
cin>>m>>n;
for(i=1;i<=m;i++)
{
cin>>num_m[i].val;
num_m[i].pts=i;
}
for(i=1;i<=n;i++)
cin>>num_n[i].val;
sort(num_m+1,num_m+n+1,cmp);
for(i=1;i<=n;i++)
{
ans=0;
for(j=1;j<=m;j++)
if(num_m[j].val<=num_n[i].val)
ans++;
else
break;
cout<<ans<<' ';
}
return 0;
}