Submission #391436

#TimeUsernameProblemLanguageResultExecution timeMemory
391436timmyfengCoin Collecting (JOI19_ho_t4)C++17
100 / 100
62 ms4924 KiB
#include <bits/stdc++.h> using namespace std; const int N = 100000; int coins[N][2], ext[N]; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n; cin >> n; long long ans = 0; for (int i = 0; i < 2 * n; ++i) { int x, y; cin >> x >> y; if (x < 1) { ans += 1 - x; x = 1; } else if (x > n) { ans += x - n; x = n; } if (y < 1) { ans += 1 - y; y = 1; } else if (y > 2) { ans += y - 2; y = 2; } ++coins[x - 1][y - 1]; } for (int i = 0; i < n; ++i) { for (int j = 0; j < 2; ++j) { ext[j] += coins[i][j] - 1; } for (int j = 0; j < 2; ++j) { if (ext[j] > 0 && ext[1 - j] < 0) { int delta = min(ext[j], -ext[1 - j]); ans += delta; ext[j] -= delta; ext[1 - j] += delta; } } for (int j = 0; j < 2; ++j) { ans += abs(ext[j]); } } cout << ans << "\n"; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...