题目:点击打开链接
思路:
输入后直接快排,然后找相应的元素输出。
代码:
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int n,m;
int a[10005]={0};
int main(){
int k=0;
while(1){
scanf("%d%d",&n,&m);
if(n==0&&m==0){
break;
}
k++;
for(int i=1;i<=n;i++){
scanf("%d",&a[i]);
}
sort(a+1,a+n+1);
printf("CASE# %d:\n",k);
for(int i=1;i<=m;i++){
int x;
scanf("%d",&x);
/* //顺序查找
bool flag=false;
for(int j=1;j<=n;j++){
if(a[j]==x){
printf("%d found at %d\n",x,j);
flag=true;
break;
}
}
*/
int y=lower_bound(a+1,a+n+1,x)-a;
if(a[y]!=x){
printf("%d not found\n",x);
}else{
printf("%d found at %d\n",x,y);
}
}
}
return 0;
}