Submission #411826

#TimeUsernameProblemLanguageResultExecution timeMemory
411826ngpin04Coin Collecting (JOI19_ho_t4)C++14
100 / 100
66 ms5004 KiB
#include <bits/stdc++.h> #define fi first #define se second #define mp make_pair using namespace std; const int N = 1e5 + 5; int cnt[N][2]; int val[2]; int n; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin >> n; long long ans = 0; for (int i = 1; i <= 2 * n; i++) { int x,y; cin >> x >> y; if (x > n) { ans += x - n; x = n; } if (x < 1) { ans += 1 - x; x = 1; } if (y > 2) { ans += y - 2; y = 2; } if (y < 1) { ans += 1 - y; y = 1; } cnt[x][y - 1]++; } for (int i = 1; i <= n; i++) { for (int j = 0; j < 2; j++) val[j] += cnt[i][j] - 1; for (int j = 0; j < 2; j++) { if (val[j] > 0 && val[j ^ 1] < 0) { int t = min(val[j], -val[j ^ 1]); ans += t; val[j] -= t; val[j ^ 1] += t; } } for (int j = 0; j < 2; j++) ans += abs(val[j]); } cout << ans; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...