玄学错误,和题解对拍了没有问题
查看原帖
玄学错误,和题解对拍了没有问题
246979
SalomeJLQ楼主2020/8/10 08:29
#include<bits/stdc++.h>
using namespace std;
int a[1000005],n,m,q,i;
int main(){
	cin>>n>>m;
	for(i=1;i<=n;i++)cin>>a[i];
	while(m--){
		cin>>q;
		int l=1,r=n,mid,ans;
		bool bj=false;
		while(l<=r){
			mid=l+r>>1;
//            cout<<l<<" "<<r<<" "<<mid<<" "<<a[mid]<<endl;
//            for(i=1;i<=n;i++)cout<<i<<" "<<a[i]<<"  ";
//            cout<<endl;
			if(a[mid]<q)l=mid+1;
			else if(a[mid]>q)r=mid-1;
			else if(a[mid]==q){ans=mid,bj=1;break;}
		}
		if(bj){
            int dq=ans;
            while(a[dq]==a[ans])dq--;
            cout<<dq+1<<" ";
        }
		else cout<<-1;
	}
	return 0;
}

对拍过,没有问题,结果全WA

2020/8/10 08:29
加载中...