icpc:problems:luogup1571
problems | |
---|---|
名称 | 眼红的Medusa |
题目编号 | P1571 |
题目链接 | luogu.com.cn/… |
来源 | Luogu |
算法分类 | 二分, 二分_例题 |
难易程度 | 入门 |
眼红的Medusa
想法
注意二分范围与输出顺序。排序第二个序列,通过二分查找第一个序列中的数。
代码实现
#include<cstdio> #include<algorithm> using namespace std; const int N = 1e5+10; int line1[N], line2[N], n, m; int main() { scanf("%d %d", &n ,&m); for(int i=1; i<=n; i++) scanf("%d", &line1[i]); for(int i=1; i<=m; i++) scanf("%d", &line2[i]); sort(line2+1, line2+1+m); for(int i=1; i<=n; i++) { int l=1, r=m, mid; while(l < r) { mid = (l + r) / 2; if(line1[i] > line2[mid]) l = mid+1; else r = mid; } if(line1[i] == line2[l]) { printf("%d ", line1[i]); } } return 0; }
/app/www/public/data/pages/icpc/problems/luogup1571.txt · 最后更改: 2024/01/25 11:12 由 温婕莺