比赛 2025.9.6 评测结果 AAAAAAAAAAAA
题目名称 Compatible Pairs 最终得分 100
用户昵称 对立猫猫对立 运行时间 1.929 s
代码语言 C++ 内存使用 13.27 MiB
提交时间 2025-09-06 10:38:39
显示代码纯文本
#include <bits/stdc++.h>
#define int long long
using namespace std;
map<int, int> m;
vector<int> id;
signed main() {
	freopen("Compatible.in", "r", stdin);
	freopen("Compatible.out", "w", stdout);
	ios::sync_with_stdio(0);
	cin.tie(0), cout.tie(0);
	int n, a, b, ans = 0;
	cin >> n >> a >> b;
	for (int i = 1; i <= n; i++) {
		int u, v;
		cin >> u >> v;
		m[v] = u;
		id.push_back(v);
	}
	sort(id.begin(), id.end());
	for(int i = 0; i < id.size(); i++) {
		int x = id[i];
		int pa = a - x, pb = b - x;
		if (m[pb] > 0 && pb >= 0) {
			if (pb == x) ans += m[pb] / 2, m[pb] %= 2;
			else {
				int minn = min(m[x], m[pb]);
				ans += minn;
				m[x] -= minn;
				m[pb] -= minn;
			}
		}
		if (m[pa] > 0 && pa >= 0) {
			if (pa == x) ans += m[pa] / 2, m[pa] %= 2;
			else {
				int minn = min(m[x], m[pa]);
				ans += minn;
				m[x] -= minn;
				m[pa] -= minn;
			}
		}
	}
	cout << ans;
	return 0;
}