社区讨论

P1918听灌多

灌水区参与者 2已保存回复 2

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@m6adwn5s
此快照首次捕获于
2025/01/24 14:32
去年
此快照最后确认于
2025/11/04 10:45
4 个月前
查看原帖
CPP
#include<iostream>
#include<algorithm>
using namespace std;
long long n,q,b;
struct s{
	long long sum,num;
};
s a[100005];
bool cmp(s x,s y) {
	return x.sum<y.sum;
}
int main() {
	cin >> n;
	for(int i=1;i<=n;i++) {
		cin >> a[i].sum;
		a[i].num=i;
	}
	sort(a+1,a+n+1,cmp);
	cin >> q;
	for(int i=1;i<=q;i++) {
		cin >> b;
		long long l=1,r=n,mid;
		while(l<r) {
			mid=(l+r)>>1;
			if(a[mid].sum<=b) l=mid+1;
			else r=mid;
		}
		if(a[mid].sum==b) cout << a[mid].num << endl;
		else cout << 0<<endl;
	}
	return 0;
} 

回复

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

正在加载回复...