第一道二分体就卡死了,大佬救命

P2249 【深基13.例1】查找

Chen_sir @ 2024-12-02 15:17:38

为什么通过不了呀呜呜呜 求助大佬帮忙解惑

#include<stdio.h>
#include <stdlib.h>
    //x被查找
    long long search (long long arr[],long long l,long long r,long long x)
    {
        while(l<=r)
        {   
        long long m=l+(r-1)/2;
        if(arr[m]==x)
        return m+1;

        if(arr[m]<x)
        l=m+1;
        if(l>=r)
        break;
        else r=m-1;
        }
        return -1;
    }

    int main()
    {
        long long n,m;
        scanf("%lld %lld",&n,&m);
        long long arr[n];
        for(long long i=0;i<n;i++)
        {
            scanf("%lld",&arr[i]);

        }
        long long where[m];
        for(long long i=0;i<m;i++)
        {
            scanf("%lld",&where[i]);
        }

    for(long long i=0;i<m;i++)
    {
        long long result=search(arr,0,n-1,where[i]);
        printf("%lld ",result);
    }

    return 0;
}

|