比赛 2025.9.6 评测结果 AAEEWWWEEEEE
题目名称 Compatible Pairs 最终得分 17
用户昵称 彭欣越 运行时间 1.612 s
代码语言 C++ 内存使用 7.51 MiB
提交时间 2025-09-06 11:55:51
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=100010;
ll n,a,b,t[N],ans;
map<ll,ll>mp;
int main () {
	freopen("Compatible.in","r",stdin);
	freopen("Compatible.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0),cout.tie(0);
	cin >> n >> a >> b;
	for (int i=1;i<=n;i++) {
		int x,y;
		cin >> x >> y;
		t[i]=y;
		mp[y]=x;
	}
	//cout << mp.count(1) <<' '<< mp.count(6) <<endl;
	sort(t+1,t+1+n);
	int mn;
	for (int i=1;i<=n;i++) {
		if (t[i]>b) continue;
		if (mp.count(a-t[i])==1) {
			mn=min(mp[t[i]],mp[a-t[i]]);
			if (t[i]==a-t[i]) mn/=2;
			mp[t[i]]-=mn;
			mp[a-t[i]]-=mn;
			ans+=mn;
			//cout << t[i] <<' '<< mp[t[i]] <<' '<< mn <<' '<< 1 <<endl;
		}
		if (mp.count(b-t[i])==1) {
			mn=min(mp[t[i]],mp[b-t[i]]);
			if (t[i]==a-t[i]) mn/=2;
			mp[t[i]]-=mn;
			mp[b-t[i]]-=mn;
			ans+=mn;
			//cout << t[i] <<' '<< mp[t[i]] <<' '<< mn <<' '<< 2 <<endl;
		}
	}
	cout << ans <<endl;
	return 0;
}