All RE(全Runtime Error)

P2249 【深基13.例1】查找

Sam_Gamer @ 2023-07-26 15:42:27

#include<bits/stdc++.h>
#define N 1000010
#define M 100010
using namespace std;
int n,m,a[N],b[M];
int binsearch(int n)
{
    int l=0,r=n-1,res=-1;
    while(l<=r)
    {
        int mid=l+(r-l)/2;

        if(a[mid]==n)
        {
            res=mid+1;
            break;
        }
        if(a[mid]>n)
        {
            r=mid-1;
        }
        if(a[mid]<n)
        {
            l=mid+1;
        }
    }
    return res;
}
int main()
{
    cin>>n>>m;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    for(int i=0;i<m;i++)
    {
        cin>>b[i];
    }
    for(int i=0;i<m;i++)
    {
        cout<<binsearch(b[i])<<' ';
    }
    return 0;
}

样例对了,数据范围?


by haokee @ 2023-07-26 15:45:45

@Sam_Gamer 有没有这么一种可能,binsearch 没找到会返回 -1


by Sam_Gamer @ 2023-07-26 15:48:42

@haokee 亲,这边也是返回了呢


by Sam_Gamer @ 2023-07-26 15:53:43

help!!!


by haokee @ 2023-07-26 15:54:07

@Sam_Gamer 你用负一来做下标可能会越界哦。


by Sam_Gamer @ 2023-07-26 15:54:55

@haokee 好的O


|