第一个WA,想象不到的问题
查看原帖
第一个WA,想象不到的问题
1030168
ASonea楼主2023/8/20 22:53
#include<iostream>
using namespace std;
const int MAXN=1e6+10;//注意范围
long long read(){//快读
	long long x=0,f=1;
	char c=getchar();
	while(c<'0'||c>'9'){
		if(c=='-') f=-1;
		c=getchar();
	}
	while(c>='0'&&c<='9'){
		x=x*10+c-'0';
		c=getchar();
	}
	return x*f;
}
int a[MAXN];
int main() 
{
    long long m,n;
    cin>>n>>m;
    long long l=1,u = n;
    for(int i=1;i<=n;i++)a[i]=read();
    while(m--)
    {
        long long nun = read();
        if(nun==0)
        {
            cout<<-1<<" ";
            continue;
        }
        while(l<u)
        {
            long long mid =(l+u)/2;
            if(a[mid]>=nun) u=mid;
            else l = mid+1;
        }
        if(a[l]==nun)cout<<l<<" ";
        else cout<<-1<<" ";
        l =1;
        u = n;
    }
}
2023/8/20 22:53
加载中...