社区讨论

84分求助

P2249【深基13.例1】查找参与者 2已保存回复 1

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
1 条
当前快照
1 份
快照标识符
@mdn139mi
此快照首次捕获于
2025/07/28 19:32
7 个月前
此快照最后确认于
2025/11/04 03:34
4 个月前
查看原帖
wa第一个点
CPP
#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;
}

回复

1 条回复,欢迎继续交流。

正在加载回复...