记录编号 605659 评测结果 AAAAWWWWWWWW
题目名称 4171.[USACO25 Open Silver]Compatible Pairs 最终得分 33
用户昵称 Gravatar彭欣越 是否通过 未通过
代码语言 C++ 运行时间 2.175 s
提交时间 2025-09-06 12:01:31 内存使用 11.74 MiB
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1000010;
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;
}