最后的set写的没提交上,不知道对不,自己看一下,重要的是学习map和set
/*#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
#include<map>
#include<vector>
#include<cctype>
using namespace std;
vector<int> shu;
map<int,int> cnt;
int main()
{
int m,n;
scanf("%d%d",&m,&n) ;
//{
int i,j;
int a[1000010],b[100010];
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(i=0;i<m;i++)
{
scanf("%d",a[i]);
cnt.insert(a[i]);
}
for(i=0;i<m;i++)
{
if(!cnt.count(a[i]))
cnt[a[i]]=0;
cnt[a[i]]++;
}
for(j=0;j<n;j++)
{
scanf("%d",&b[j]);
shu.push_back(b[j]);
}
for(i=0;i<shu.size();i++)
{
if(cnt[shu[i]]==1)
printf("YES\n");
else
printf("NO\n");
}
// }
return 0 ;
} */
/*自己对map的理解不够,上面的写错了,下面的是百度的*/
/*#include<iostream>
#include<cstdio>
#include<map>
using namespace std;
int main()
{
map<string,int>mymap;
string str;
int m,n,i;
cin>>m>>n;
for(i=0; i<m; i++)
{
cin>>str;
mymap[str]++;
}
for(i=0; i<n; i++)
{
cin>>str;
printf(mymap[str]==0?"NO\n":"YES\n");
}
}*/
/*下面是我用set写的,希望可以帮到你*/
#include<string.h>
#include<iostream>
#include<set>
#include<stdio.h>
using namespace std;
set<int> s;
int main()
{
int m,n;
int i,x;
//int a[1000010],b[100010];
scanf("%d%d",&m,&n);
for(i=0;i<m;i++)
{
scanf("%d",&x);
s.insert(x);
}
for(i=0;i<n;i++)
{
scanf("%d",&x);
if(s.find(x)!=s.end())
printf("YES\n");
else
printf("NO\n");
}
return 0;
}