搜索(三)
时间限制(普通/Java) :
1500 MS/ 4500 MS 运行内存限制 : 65536 KByte
总提交 : 1698 测试通过 : 364
总提交 : 1698 测试通过 : 364
比赛描述
给定整数序列,查询多个整数是否存在。
输入
输入多行:
l 第1行给出整数序列大小n,查询次数m(待查询的整数可以重复), 1≤n≤100000,1≤m≤100000
l 第2行给出整数序列,每个整数绝对值不超1000000
l m行,每1行给出指定整数
输出
对于每个测试用例:
l 输出m行,每1行给出一个查询结果,指定整数存在则输出“Yes”,否则输出“No”
注意:输出部分的结尾要求包含一个多余的空行。
样例输入
2 2
1 2
2
3
样例输出
Yes
No
题目来源
算法与数据结构设计考核赛2009
#include<iostream>
#include<set>
using namespace std;
bool exist[2000030]={0};
int main(){
long n,m,t;
cin>>n>>m;
while(n--){
cin>>t;
exist[t+1000010] = 1;
}
while(m--){
cin>>t;
if(exist[t+1000010]){
cout<<"Yes"<<endl;
}else{
cout<<"No"<<endl;
}
}
}