Time Limit: 10 Sec Memory Limit: 128 MB
Submit: 102 Solved: 50
[Submit][Status][Web Board]
Description
给出n个正整数,然后有m个询问,每个询问一个整数,询问该整数是否在n个正整数中出现过。
Input
第一行两个整数 n 和m。
第二行n个正整数(1<=n<= 100000)
第三行m个整数(1<=m<=100000)
所有数据都不超过10^8
Output
一共m行,若出现则输出YES,否则输出NO
Sample Input
4 2
2 1 3 4
1 9
Sample Output
YES
NO
HINT
这是一道shitset的水题,知道shitset一般都会做。
代码:
#include<bits/stdc++.h>
using namespace std;
set<int> a;
int main() {
int n,m;
scanf("%d%d",&n,&m);
for(int i=1;i<=n;i++) {
int s;
scanf("%d",&s);
a.insert(s);
}
for(int i=1;i<=m;i++){
int s;
scanf("%d",&s);
if(a.count(s)==1)
printf("YES\n");
else
printf("NO\n");
}
return 0;
}