求助!样例对了,但是0分
查看原帖
求助!样例对了,但是0分
1078430
qxy114514楼主2024/3/24 16:10

5个wa,1个tle

#include "iostream"
using namespace std;
#define int long long
int n,n1,l,r,mid;
bool found;
signed main(){
    scanf("%lld%lld",&n,&n1);
    int a[n],x[n1];
    for(int i=0;i<n;i++)
        scanf("%lld",a+i);
    for(int i=0;i<n1;i++)
        scanf("%lld",x+i);
    for(int i=0;i<n1;i++){
        l=0,r=n-1,found=0;
        while(l<=r){
            mid=(r+l)/2;
            //cout<<l<<mid<<r<<endl;
            if(a[mid]==x[i]){
                while(a[mid-1]==x[i])
                    mid--;
                cout<<mid+1<<ends;
                found=1;
                break;
            }
            else if(a[mid]<x[i])
                l=mid+1;
            else
                r=mid-1;
        }
        if(!found)
            cout<<"-1 ";
    }
    return 0;
}
2024/3/24 16:10
加载中...