社区讨论

求救

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 条回复,欢迎继续交流。

正在加载回复...