背景:做了这么久的题,唯一一道一次ac的,可见这道题是如何的简单。
思路:思路很清楚的模拟题,先排序再查找。
学习:sort函数和lower_bound函数,sort函数排序就不多说了,lower_bound函数作用是查找一个数组中大于等于x的第一个位置。
#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
int figue[10000];
void print(int n,int b)
{
for(int i=0;i<n;i++)
{
if(figue[i]==b) {printf("%d found at %d\n",b,i+1);return;}
if(figue[i]>b) {printf("%d not found\n",b);return;}
}
printf("%d not found\n",b);
return;
}
int main(void)
{
int N,Q,k,game=1;
while(cin>>N>>Q&&N&&Q)
{
printf("CASE# %d:\n",game++);
for(int i=0;i<N;i++)
cin>>figue[i];
sort(figue,figue+N);
while(Q--)
{
cin>>k;
print(N,k);
}
}
return 0;
}