样例过,测全WA,求调教

P2249 【深基13.例1】查找

514czh @ 2023-11-02 12:56:26

样例过,测全WA,求调教

#include<bits/stdc++.h>
using namespace std;
int a[100005],s,d,f,g;
int ef(int x){
    int l=0,r=s+1;
    while(l+1<r){
        int mid=(l+r)/2;
        if(a[mid]<x) l=mid;
        else r=mid;
    }
    if(a[r]==x)
    return r;
    else return -1;
}
int main(){
    a[0]=-1e9;
    scanf("%d",&s);
    scanf("%d",&d);
    for(int i=1;i<=s;i++){
        scanf("%d",&a[i]);
    }
    a[s+1]=1e9;

    for(int i=0;i<d;i++){
        scanf("%d",&f);
        printf("%d ",ef(f));
    }

    return 0;
}

by 514czh @ 2023-11-02 13:42:58

楼主占前排


by char_cha_ch_ @ 2023-11-02 13:52:14

你这个代码没什么问题啊,就是数组开小了,改成int a[1000010];就可以了


by Kratos_Charger @ 2023-11-02 16:29:28

你这个代码没什么问题啊,就是数组开小了,改成int a[1000010];就可以了,我是陈豪小子(wschxz)


by 514czh @ 2023-11-02 16:29:52

@_zzdmz 双Q


by char_cha_ch_ @ 2023-11-02 17:02:44

@wschxz 没事


|