题解 100% AC
2025-07-23 10:59:16
发布于:江苏
4阅读
0回复
0点赞
#include <bits/stdc++.h>
using namespace std;
int a[100010];
int main(){
int n,m,cnt=0,x,l,r;cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+1,a+n+1);
cin>>m;
for(int i=1;i<=m;i++){
cin>>x;
cnt=0;
l=1,r=n;
for(;l<=r;){
int mid=(l+r)/2;
if(a[mid]==x){
cnt++;
for(int j=mid-1;j>=1&&a[j]==x;j--) cnt++;
for(int j=mid+1;j<=n&&a[j]==x;j++) cnt++;
break;
}else if(a[mid]<x) l=mid+1;
else r=mid-1;
}
cout<<cnt<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个