84分求助
查看原帖
84分求助
1192335
jiangguangshang楼主2025/7/28 19:31

wa第一个点

#include<bits/stdc++.h>
using namespace std;
long long n;
const int N=1E6+10;
long long a[N];
long long bin(long long l,long long r,long long x)
{
	if(l>r)
	{
		return -1;
	} 
	while(l<r)
	{
		
		long long mid=(l+r)/2;
		if(a[mid]==x&&a[mid-1]!=x)
		{
        
        return mid;
			
		} 
		if(a[mid]>x||a[mid-1]==x)
		{
			r=mid;
	    } 
		if(a[mid]<x)
		{
			l=mid;
		} 
	} 
	return -1;
} 
int main()
{
  ios::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
	cin>>n;
	long long q;
    cin >> q;
	for(long long i=1;i<=n;i++)
	{
	    cin>>a[i];
	}
	
    long long b[N];
    for(long long i=1;i<=q;i++)
    {
    cin >> b[i];
    }
    for(long long i=1;i<=q;i++)
    {
    cout<<bin(1,n,b[i])<<" ";
    }
	
	return 0;
}
2025/7/28 19:31
加载中...