比赛 |
2025.9.6 |
评测结果 |
AAAAWWWWWWWW |
题目名称 |
Compatible Pairs |
最终得分 |
33 |
用户昵称 |
LikableP |
运行时间 |
2.595 s |
代码语言 |
C++ |
内存使用 |
12.77 MiB |
提交时间 |
2025-09-06 11:18:42 |
显示代码纯文本
#include <algorithm>
#include <cstdio>
#include <map>
typedef long long ll;
using ::std::map;
using ::std::min;
ll N, A, B;
map<ll, ll> _map;
ll ans;
int main() {
freopen("Compatible.in", "r", stdin);
freopen("Compatible.out", "w", stdout);
scanf("%lld %lld %lld", &N, &A, &B);
for (int i = 1; i <= N; ++i) {
ll key, value;
scanf("%lld %lld", &value, &key);
_map[key] = value;
if (A - key != key) {
ll minus = min(_map[A - key], _map[key]);
_map[A - key] -= minus;
_map[key] -= minus;
ans += minus;
}
if (B - key != key) {
ll minus = min(_map[B - key], _map[key]);
_map[B - key] -= minus;
_map[key] -= minus;
ans += minus;
}
if (key + key == A || key + key == B) {
ans += _map[key] / 2;
_map[key] -= _map[key] / 2;
}
}
printf("%lld\n", ans);
return 0;
}