Submission #788350

#TimeUsernameProblemLanguageResultExecution timeMemory
788350NeroZeinWiring (IOI17_wiring)C++17
13 / 100
21 ms3788 KiB
#include "wiring.h" #include "bits/stdc++.h" using namespace std; long long min_total_length(std::vector<int> r, std::vector<int> b) { if (r.size() > b.size()) { swap(r, b); } int n = (int) r.size(); int m = (int) b.size(); auto dis = [&](int i, int j) { return abs(i - j); }; sort(r.begin(), r.end()); sort(b.begin(), b.end()); int p = 0; long long ans = 0; for (int i = 0; i < n; ++i) { bool f = false; while (p < m && (i == n - 1 || dis(r[i], b[p]) < dis(r[i + 1], b[p])) && m - p - 1 >= n - i - 1) { ans += dis(r[i], b[p]); f = true; p++; } if (!f) { ans += dis(r[i], b[p]); p++; } } return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...