:给出N个正整数,再给出M个正整数,问这M个数中的每个数分别是否在N个数中出现过,其中N,M≤10,且所有正整数均不超过10。例如N=5,M=3,N个正整数为{8,3,7,6,2},欲查询的M个正整数为{7,4,2},于是后者中只有7和2在N个正敕数中出现过.而4是没有出现的.
#include <cstdio>
#include <iostream>
using namespace std;
const int MAXN = 100010;
bool hashTable[MAXN] = {false};
int main()
{
int n, m, x; //N和M中的数字的个数
cin >> n >> m;
for(int i = 0; i < n; i++)
{
cin >> x;
hashTable[x] = true; //数字x出现过
}
for(int i = 0; i < m; i++)
{
cin >> x;
if(hashTable[x] == true) cout << "YES" <<endl;
else cout << "NO" << endl;
}
return 0;
}