社区讨论
10分求助 悬赏1关注
P1571眼红的Medusa参与者 5已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @lo254o7o
- 此快照首次捕获于
- 2023/10/23 08:09 2 年前
- 此快照最后确认于
- 2023/11/03 08:27 2 年前
CPP
#include <bits/stdc++.h>
using namespace std;
const int N = 2e5 + 5;
int n,m,a[N],b[N];
int find(int x){
int lt = 0,rt = m + 1;
while(lt + 1 < rt){
int mid = (lt + rt) / 2;
if(b[mid] == a[x]){
return 1;
}
if(b[mid - 1] < a[x] && b[mid + 1] > a[x]){
return 0;
}
if(b[mid] > a[x]){
rt = mid;//往mid左边找
}else{
lt = mid + 1;//往mid右边找
}
}
return 0;
}
int main(){
cin >> n >> m;
for(int i = 1;i <= n;i++){
cin >> a[i];
}
for(int i = 1;i <= m;i++){
cin >> b[i];
}
sort(b + 1,b + 1 + m);//有特殊贡献奖的人的编号排序!!!
for(int i = 1;i <= n;i++){
if(find(i) == true){
cout << a[i] << " ";
}
}
return 0;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...