#include <cstdio>
#include <algorithm>
using namespace std;
int main() {
const int maxn = 10000;
int n, q, x, kase = 0;
int num[maxn];
while (scanf("%d%d", &n, &q) == 2 && n) {
printf("CASE# %d:\n", ++kase);
for (int i = 0; i < n; ++i)
scanf("%d", &num[i]);
sort(num, num + n); // 排序
while (q--) {
scanf("%d", &x);
int p = lower_bound(num, num + n, x) - num; // 在已排序数组num中寻找x
if (num[p] == x)
printf("%d found at %d\n", x, p + 1);
else
printf("%d not found\n", x);
}
}
return 0;
}
lower_bound
函数查找“大于等于x的第一个位置”
int p = lower_bound(num, num + n, x) - num; // 在已排序数组num中寻找x
sort(v.begin, v.end())
排序
网友评论