P1571 眼红的Medusa
生活随笔
收集整理的這篇文章主要介紹了
P1571 眼红的Medusa
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目描述
雖然 Miss Medusa 到了北京,領了科技創新獎,但是他還是覺得不滿意。原因是:他發現很多人都和他一樣獲了科技創新獎,特別是其中的某些人,還獲得了另一個獎項——特殊貢獻獎。而越多的人獲得了兩個獎項,Miss Medusa就會越眼紅。于是她決定統計有哪些人獲得了兩個獎項,來知道自己有多眼紅。
輸入格式
第一行兩個整數 n, mn,m,表示有 nn 個人獲得科技創新獎,mm 個人獲得特殊貢獻獎。
第二行 nn 個正整數,表示獲得科技創新獎的人的編號。
第三行 mm 個正整數,表示獲得特殊貢獻獎的人的編號。
輸出格式
輸出一行,為獲得兩個獎項的人的編號,按在科技創新獎獲獎名單中的先后次序輸出。
輸入輸出樣例
輸入 #1
4 3
2 15 6 8
8 9 2
輸出 #1
2 8
說明/提示
對于 60% 的數據,1≤n,m≤1000,獲得獎項的人的編號 <2×10^9;
對于 100%100% 的數據,1≤n,m≤10 5 ,獲得獎項的人的編號 <2×10^9。
輸入數據保證第二行任意兩個數不同,第三行任意兩個數不同。
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<queue> #include<cstdio> #include<math.h>#include <map> using namespace std;int n,m,p; map<int ,bool> v; int a[100010]; int b[100010];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];v[b[i]] = true;}for (int i = 1 ;i <= n; i++) {if(v[a[i]] ) {cout << a[i] << " ";}}return 0; }好用!!
#include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<queue> #include<cstdio> #include<math.h>#include <map> using namespace std;int n,m,p; int a[100010]; int b[100010];int binary_search(int x) {int l = 1, r = m;while(l <= r) {int mid = (l+r)>>1;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] ) {r = mid;}else {l = mid+1;}}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(binary_search(i) ) {cout << a[i] << " ";}}return 0; }二分
總結
以上是生活随笔為你收集整理的P1571 眼红的Medusa的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 面试中的最常被问到的两种锁
- 下一篇: java 随机数种子 java设置随机数