2024-01-21 16:35:39 By 快乐的熊果
题目描述:
从n个排好序的数中查找有无x。
数据范围:n(n≤100000) n个从小到大排列的整数ai(ai<2e9) 整数m,表示询问的次数(m≤10000) m个整数
输出m行,对于每一个询问,如果有这个数,则输出"Yes",否则输出"No"
从数据范围中我们可以看出来,这是一个二分。
But!
我的代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int a[n+1],tong[500001];
for(int i=1;i<=n;i++){
cin>>a[i];
tong[a[i]]=1;
}
int m;
cin>>m;
int t;
for(int i=1;i<=m;i++){
cin>>t;
if(tong[t]==1){
cout<<"Yes"<<endl;
}
else{
cout<<"No"<<endl;
}
}
return 0;
}
桶排序都可以做!你的2e9数据范围哪去了?
评论
发表评论
可以用@mike来提到mike这个用户,mike会被高亮显示。如果你真的想打“@”这个字符,请用“@@”。