给出石头的大小,排序后 有多次查询 每次查询是否有石头在队列中
不用lower_bound应该也能过
#include<iostream>
#include<cstdio>
#include<set>
#include<string>
#include<string.h>
#include<cstring>
#include<vector>
#include<map>
#include<queue>
#include<stack>
#include<cctype>
#include<algorithm>
#include<sstream>
#include<utility>
#include<cmath>
#define mt(a) memset(a,0,sizeof (a))
#define fl(a,b,c) fill(a,b,c)
#define SWAP(a,b,t) (t=a,a=b,b=t)
#define inf 1000000
using namespace std;
typedef long long ll;
ll a[500000];
int main()
{
int T;
int cot = 0; int n, m;
while (cin >> n >> m)
{
cot++;
if (n == 0 && m == 0)break;
for (int i = 0; i < n; i++)
scanf("%lld", &a[i]);
sort(a, a + n);
printf("CASE# %d:\n", cot);
for (int i = 0; i < m; i++)
{
ll find;
scanf("%lld", &find);
ll pos = lower_bound(a, a + n, find)-a;
if (a[pos] == find)printf("%lld found at %lld\n", find, pos + 1);
else printf("%d not found\n", find);
}
}
return 0;
}