Submission #430407

#TimeUsernameProblemLanguageResultExecution timeMemory
430407Drew_Coin Collecting (JOI19_ho_t4)C++17
0 / 100
18 ms324 KiB
#include <iostream> #include <vector> #include <cmath> #include <algorithm> using namespace std; #define ll long long #define ii pair<int, int> #define pl pair<ll, ll> #define f1 first #define s2 second const int MAX = 2e5 + 69; int X[MAX], Y[MAX]; int main() { ios :: sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin >> n; for (int i = 0; i < 2*n; ++i) cin >> X[i] >> Y[i]; sort(X, X + 2*n); sort(Y, Y + 2*n); ll ans = 0; //calculate X coordinate contribution for (int i = 0; i < 2*n; ++i) ans += abs(X[i] - (i/2 + 1)); ll mn = 1e18; for (int mask = 0; mask < (1 << 2*n); ++mask) { if (__builtin_popcount(mask) == n) { ll ctr = 0; for (int i = 0; i < 2*n; ++i) { if (mask & (1 << i)) ctr += abs(Y[i] - 2); else ctr += abs(Y[i] - 1); } mn = min(mn, ctr); } } cout << ans + mn << '\n'; return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...