手搓二分
2024-08-31 15:54:42
发布于:云南
1阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main(){
int n,m; cin >> n >> m;
for(int i = 1;i <= n;i++) cin >> a[i];
while(m--){
int t; cin >> t;
int l = 1,r = n;
bool f = 0;
while(l <= r){
int mid = (l + r) >> 1;
if(a[mid] == t){
f = 1;
cout << mid << endl;
break;
}else if(a[mid] > t) r = mid - 1;
else l = mid + 1;
}
if(f == 0) cout << -1 << endl;
}
return 0;
}
这里空空如也
有帮助,赞一个