求助大佬,错在哪里了

P2249 【深基13.例1】查找

Sur_tr @ 2024-12-22 12:53:40

#include <iostream>

using namespace std;

int n,m;
int a[1000010];

int main() {
    scanf("%d%d",&n,&m);

    for(int i=1;i<=n;i++)
    {
        scanf("%d",&a[i]);
    }

    while(m--)
    {
        int x;
        scanf("%d",&x);

        int l=0;
        int r=n-1;

        int mid;

        while(l<r)
        {
            mid=l+r>>1;

            if(x>a[mid])
            {
                l=mid+1;
            }
            else
            {
                r=mid;
            }
        }

        if(a[l]!=x)
        {
            printf("-1");
        }
        else
        {
            printf("%d",l);
        }
    }

    return 0;
}

|