1230 元素查詢
時間限制: 1 s
空間限制: 128000 KB
題目等級 : 鑽石 Diamond
題目描述 Description
給出n個正整數,然後有m個詢問,每個詢問一個整數,詢問該整數是否在n個正整數中出現過。
輸入描述 Input Description
第一行兩個整數 n 和m。
第二行n個正整數(1<=n<= 100000)
第三行m個整數(1<=m<=100000)
輸出描述 Output Description
一共m行,若出現則輸出YES,否則輸出NO
樣例輸入 Sample Input
4 2
2 1 3 4
1 9
樣例輸出 Sample Output
YES
NO
資料範圍及提示 Data Size & Hint
所有資料都不超過10^8
分類標籤 Tags 點此展開
額,,感覺這題比較水
用桶排的思想也能過
用set也能過
我還是老老實實(偷懶)的寫了,,,hash_map
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<hash_map> 5 using namespace std; 6 using __gnu_cxx::hash_map; 7 int main() 8 { 9 hash_map<int,bool>a; 10 int n,m; 11 scanf("%d%d",&n,&m); 12 for(int i=1;i<=n;i++) 13 { 14 int k; 15 scanf("%d",&k); 16 a[k]=1; 17 } 18 for(int i=1;i<=m;i++) 19 { 20 int k; 21 scanf("%d",&k); 22 if(a[k]==1) 23 printf("YES\n"); 24 else 25 printf("NO\n"); 26 } 27 return 0; 28 }