社区讨论
爆红了,不知道为什么
P2249【深基13.例1】查找参与者 2已保存回复 4
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 4 条
- 当前快照
- 1 份
- 快照标识符
- @mhjub6tk
- 此快照首次捕获于
- 2025/11/04 08:37 4 个月前
- 此快照最后确认于
- 2025/11/04 08:37 4 个月前
CPP
#include<iostream>
using namespace std;
int main(){
int n,m;
cin>>n>>m;
int ans[n];
int bns[m];
for(int i=0;i<n;i++){
cin>>ans[i];
}
int target,left=0,right=n-1,med,b=0,found=0;
for(int i=0;i<m;i++){
cin>>target;
while(left<=right){
med=(left+right)/2;
if(target==ans[med]){
bns[b++]=med;
found=1;
break;
}
if(target>ans[med]){
left=med+1;
}else{
right=med-1;
}
}
if(!found) bns[b++]=-1;
left=0;
right=n-1;
}
for(int i=0;i<m;i++){
cout<<bns[i]<<" ";
}
return 0;
}
回复
共 4 条回复,欢迎继续交流。
正在加载回复...