怎么找最后出现的数?求调
代码
#include<bits/stdc++.h>
using namespace std;
int n,m,a[1000010];
int find(int x){
int l=1,r=n+1,mid,sum=0;
while(l<r){
mid=(l+r)/2;
if(a[mid]<=x)
l=mid+1;
else
r=mid;
}
return mid;
}
int main(){
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
while(cin>>m)
cout<<find(m)<<' ';
return 0;
}