听说灌水区大佬多,蒟蒻求助
  • 板块灌水区
  • 楼主DPG_DPG123
  • 当前回复13
  • 已保存回复13
  • 发布时间2023/7/20 11:17
  • 上次更新2023/11/3 08:42:04
查看原帖
听说灌水区大佬多,蒟蒻求助
755412
DPG_DPG123楼主2023/7/20 11:17

给出错误点即可

https://www.luogu.com.cn/problem/AT_xmascon17_h

# include <bits/stdc++.h>
using namespace std;
int N, M, Q, x[110000], s[110000];
int ans1, ans2;

void solve(int s) { // 功能:从x[]中选择两个元素,加起来=s
	int l = 0, r = N - 1; // 定义两个指向
	while (x[l] + x[r] != s) {
		if (x[l] + x[r] > s)
			r --;
		else if (x[l] + x[r] < s)
			l ++;
	}
	// 产生结果
	ans1 = l;
	ans2 = r;
}

int main() {
	cin >> N;
	for (int i = 0; i < N; i ++)
		cin >> x[i];
	cin >> Q;
	for (int i = 0; i < Q; i ++)
		cin >> s[i];
	// 排序,然后二分求解从xi中选两个加起来=si
	sort(x, x + N);
	for (int i = 0; i < Q; i ++) { // 遍历s[],挨个求解
		solve(s[i]);
		cout << x[ans1] << ' ' << x[ans2] << endl;
	}
	return 0;
}
2023/7/20 11:17
加载中...