せいしゅん404 • 2年前
#include<bits/stdc++.h>
using namespace std;
vector<int> a;
int main(void){
int n,q,b,x,kase=0;
while(cin>>n>>q&&(n&&q)){
a.clear();
printf("CASE# %d:",++kase);
for(int i=0;i<n&&scanf("%d",&b);i++) a.push_back(b);
sort(a.begin(),a.end());
while(q--){
scanf("%d",&x);
//lower_bound 查找刚好大于等于x的值的下标
//int p=lower_bound(a.begin(),a.end(),x)-a.begin();
int p=find(a.begin(),a.end(),x)-a.begin();
if(p<n&&a[p]==x)printf("%d found at %d\n",x,p+1);
else printf("%d not found\n",x);
}
}
return 0;
}
/*
4 1
2 3 5 1
5
5 2
1 3 3 3 1
2 3
0 0
*/
评论:
请先登录,才能进行评论