# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
64727 | 2018-08-05T13:17:47 Z | FLDutchman | Towns (IOI15_towns) | C++14 | 25 ms | 684 KB |
#include "towns.h" #include <bits/stdc++.h> using namespace std; typedef int INT; #define int long long #define FOR(i, l, r) for(int i = (l); i < (r); i++) #define pb push_back #define fst first #define snd second #define LSB(k) k&-k typedef vector<int> vi; typedef pair<int, int> ii; typedef vector<ii> vii; const int mod = 1e9+7; int D; INT hubDistance(INT N, INT sub) { ii far = {-1, -1}; FOR(i, 1, N) far = max({getDistance(0, i), i}, far); vi d1, d2; int I = far.snd; far = {-1, -1}; FOR(i, 0, N) { if(i == I) d1.pb(0); else d1.pb(getDistance(I, i)), far = max(far, {d1.back(), i}); } int J = far.snd; D = far.fst; FOR(i, 0, N){ if(i == J) d2.pb(0); else d2.pb(getDistance(J, i)); } int R = 1e9; map<int, int> cnt; FOR(i, 0, N){ int d = (d1[i] + d2[i] - D)/2; cnt[d1[i]-d]++; R = min(R, max(d1[i]-d, d2[i]-d)); } // amnt < R, = R, > R int l = 0, e = 0, g = 0; for(auto it : cnt){ if(it.fst < R) l += it.snd; if(it.fst == R) e += it.snd; if(it.fst > R) g += it.snd; } if(max(l, max(e, g)) > N/2) R *= -1; return R; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 20 ms | 376 KB | Output is correct |
2 | Correct | 17 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 432 KB | Output is correct |
4 | Correct | 24 ms | 508 KB | Output is correct |
5 | Correct | 22 ms | 508 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 25 ms | 508 KB | Output is correct |
2 | Correct | 17 ms | 556 KB | Output is correct |
3 | Correct | 22 ms | 556 KB | Output is correct |
4 | Correct | 22 ms | 556 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 18 ms | 684 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 22 ms | 684 KB | Output isn't correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 17 ms | 684 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 18 ms | 684 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |