Submission #1126434

#TimeUsernameProblemLanguageResultExecution timeMemory
1126434usukhbaatarCoin Collecting (JOI19_ho_t4)C++20
100 / 100
137 ms1988 KiB
#include <bits/stdc++.h> #define int long long using namespace std; int32_t main() { int n; cin >> n; array<vector<int>, 2> a = { vector<int>(n, -1), vector<int>(n, -1) }; int ans = 0; for (int i = 0; i < 2 * n; i++) { int x, y; cin >> x >> y; x--; y--; int xx = min(max(x, 0LL), n - 1); int yy = min(max(y, 0LL), 1LL); ans += abs(x - xx) + abs(y - yy); a[yy][xx]++; } int s[2]{}; for (int i = 0; i < n; i++) { s[0] += a[0][i]; s[1] += a[1][i]; if (s[0] < 0 && s[1] > 0) { int d = min(s[1], -s[0]); ans += d; s[0] += d; s[1] -= d; } if (s[0] > 0 && s[1] < 0) { int d = min(s[0], -s[1]); ans += d; s[0] -= d; s[1] += d; } ans += abs(s[0]); ans += abs(s[1]); } cout << ans << endl; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...