第一个点wa求助
查看原帖
第一个点wa求助
302898
出羽千凛楼主2020/9/23 18:18
#include <iostream>

using namespace std;
int a,b,f[10000100],x,l,r,t;
int main()
{
    cin>>a>>b;
    for(int i=1;i<=a;i++)cin>>f[i];
    for(int i=1;i<=b;i++){
        cin>>x;
        l=1;r=a;
        while(l<r){
            t=(l+r)/2;
            if(f[t]>=x)r=t;
            if(f[t]<x)l=t;
            if(f[l]==x && f[l-1]!=x){cout<<l<<" ";break;}
            if(f[r]==x && f[r-1]!=x){cout<<r<<" ";break;}
            if(l==r-1){cout<<-1<<" ";break;}
        }
        if(l==r){
            if(x==f[1])cout<<1;
            else cout<<-1;
        }
    }
    return 0;
}

自己捏了几个数据,没问题,想不通了,求助dalao

2020/9/23 18:18
加载中...