Submission #536366

#TimeUsernameProblemLanguageResultExecution timeMemory
536366KoDTowns (IOI15_towns)C++17
25 / 100
17 ms1100 KiB
#include <bits/stdc++.h> #include "towns.h" using std::vector; using std::array; using std::pair; using std::tuple; int hubDistance(int N, int sub) { std::map<pair<int, int>, int> memo; const auto dist = [&](const int i, const int j) { assert(0 <= i and i < N); assert(0 <= j and j < N); if (i == j) return 0; const auto p = std::minmax(i, j); if (const auto itr = memo.find(p); itr != memo.end()) return itr->second; return memo[p] = getDistance(i, j); }; int L = 0; for (int i = 1; i < N; ++i) { if (dist(0, L) < dist(0, i)) { L = i; } } int R = 0; for (int i = 1; i < N; ++i) { if (dist(L, R) < dist(L, i)) { R = i; } } const int len = dist(L, R); int ans = len; for (int i = 0; i < N; ++i) { const auto l = dist(L, i); const auto r = dist(R, i); const auto d = (l + r - len) / 2; ans = std::min(ans, std::max(l - d, r - d)); } return ans; }

Compilation message (stderr)

towns.cpp: In function 'int hubDistance(int, int)':
towns.cpp:9:28: warning: unused parameter 'sub' [-Wunused-parameter]
    9 | int hubDistance(int N, int sub) {
      |                        ~~~~^~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...