二分

#include<stdio.h>
#include<stdlib.h>
int a[100010];
int main() {
    int n, q;
    scanf("%d", &n);
    for (int i = 1; i <= n; i++) {
        scanf("%d", &a[i]);
    }
    while (q--) {
        int x;
        scanf("%d", &x);
        int l = 1, r = n, ans = -1;
        while (l <= r) {
            int mid = (r + l) >> 1;
            if (a[mid] >= x) {
                ans = mid;
                r = mid - 1;
            } else l = mid + 1;
        }
        if (ans == -1 || a[ans] != x)
            printf("Not Found
");
        else printf("%d
", ans);
    }
}
原文地址:https://www.cnblogs.com/Accpted/p/12787847.html