社区讨论

0分求条

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

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@mitsug60
此快照首次捕获于
2025/12/06 12:34
3 个月前
此快照最后确认于
2025/12/07 23:40
3 个月前
查看原帖
CPP
#include<iostream>
#include<cstdio>
#include<algorithm>
using namespace std;
int a[1000010];
int main()
{
	long long n,m;
	scanf("%d%d\n",&n,&m);
	for(int i=1;i<=n;i++) scanf("%d\n",&a[i]);
	sort(a+1,a+n+1);
	for(int i=1;i<=m;i++)
	{
		long long l=1,r=n,mid,p,ans=-1;
		scanf("%d",&p);
		while(l<=r)
		{
            mid=(l+r)>>1;
			if(a[mid]<=p)
			{
				ans=mid;
				r=mid-1;
			}
			else l=mid+1;
		}
        if(a[ans]==p) 
        {
            printf("%d",ans);
            printf(" ");
        }
		else 
        {
            printf("-1");
            printf(" ");
        }
	}
	return 0;
}

回复

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

正在加载回复...