社区讨论
求救
B2166查找不重复元素出现的位置参与者 5已保存回复 15
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 14 条
- 当前快照
- 1 份
- 快照标识符
- @mmbk66e0
- 此快照首次捕获于
- 2026/03/04 12:50 6 天前
- 此快照最后确认于
- 2026/03/04 13:14 6 天前
用了二分,还超时,救必关
CPP#include<bits/stdc++.h>
using namespace std;
int n,m;
int a[1000010];
int f(int x){
int l=0,r=n+1;
while(l+1!=r){
int mid=(l+r)/2;
if(a[mid]==x)return mid;
else if(a[mid]<x)l=mid;
else r=mid;
}
return -1;
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a[i];
}
while(m--){
int q;
cin>>q;
cout<<f(q)<<endl;
}
return 0;
}
回复
共 15 条回复,欢迎继续交流。
正在加载回复...