求助,样例通过,但是全部RE

P2249 【深基13.例1】查找

sfx_01 @ 2023-01-07 14:42:44

使用了lowerbound()之后,感觉逻辑上没有问题,报的应该是时间错误,不知道怎么修改了::><::


#include<bits/stdc++.h>
using namespace std;

int n,m;
int a[100005];

int main( ){
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        cin>>a[i];
    }
    for(int i=1;i<=m;i++){
        int x;cin>>x;
        if(x<a[1]||x>a[n]){
            cout<<-1<<" ";
        }else{
            int k=lower_bound(a+1,a+n+1,x)-a;
            if(a[k]==x){
                cout<<k<<" ";
            }else{
                cout<<-1<<" ";
            }
        }

    }
}

by Light_az @ 2023-01-07 14:45:06

@sfx_01 数组小了


by sfx_01 @ 2023-01-07 14:45:54

@lianzhuo 嗯嗯 刚才通过了 多谢!


|