Submission #384496

#TimeUsernameProblemLanguageResultExecution timeMemory
384496valerikkCoin Collecting (JOI19_ho_t4)C++17
8 / 100
614 ms640 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define x first #define y second #define all(a) (a).begin(), (a).end() int main() { #ifdef LOCAL freopen("input.txt", "r", stdin); #endif ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; ll ans = 0; vector<pair<int, int>> v; for (int i = 0; i < 2 * n; i++) { int x, y; cin >> x >> y; x--; y--; if (x < 0) { ans += -x; x = 0; } if (x > n - 1) { ans += x - n + 1; x = n - 1; } if (y < 0) { ans += -y; y = 0; } if (y > 1) { ans += y - 1; y = 1; } v.push_back({x, y}); } sort(v.begin(), v.end()); ll mn = 1e18; for (int mask = 0; mask < (1 << (2 * n)); mask++) { vector<int> a, b; for (int i = 0; i < 2 * n; i++) { int y = v[i].y ^ ((mask >> i) & 1); if (y) { a.push_back(v[i].x); } else { b.push_back(v[i].x); } } if (a.size() != n) continue; ll s = __builtin_popcount(mask); for (int i = 0; i < n; i++) { s += abs(a[i] - i); s += abs(b[i] - i); } mn = min(mn, s); } ans += mn; cout << ans << endl; return 0; }

Compilation message (stderr)

joi2019_ho_t4.cpp: In function 'int main()':
joi2019_ho_t4.cpp:57:22: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   57 |         if (a.size() != n) continue;
      |             ~~~~~~~~~^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...