比赛 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;
}