이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "towns.h"
#include <bits/stdc++.h>
using namespace std;
map<pair<int, int>, int> distances;
int getDist(int i, int j) {
if(i == j) return 0;
if(i > j) swap(i, j);
if(distances.count({i, j})) {
return distances[make_pair(i, j)];
}
return distances[make_pair(i, j)] = getDistance(i, j);
}
vector<int> dists;
int hubDistance(int N, int sub) {
int ans = 2e9 + 7;
dists.resize(N);
int ma = -1, best = -1;
for(int i = 0; i < N; i++) {
dists[i] = getDist(0, i);
if(ma < dists[i]) {
ma = dists[i];
best = i;
}
}
int x = best;
ma = -1, best = -1;
for(int i = 0; i < N; i++) {
dists[i] = getDist(x, i);
if(ma < dists[i]) {
ma = dists[i];
best = i;
}
}
int y = best;
int c = ma;
for(int i = 0; i < N; i++) {
if(i == x || i == y) continue;
int a = getDist(x, i);
int b = getDist(y, i);
ans = min(ans, max((a + c - b) / 2, (b + c - a) / 2));
}
return ans;
}
컴파일 시 표준 에러 (stderr) 메시지
towns.cpp: In function 'int hubDistance(int, int)':
towns.cpp:19:28: warning: unused parameter 'sub' [-Wunused-parameter]
19 | int hubDistance(int N, int sub) {
| ~~~~^~~
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |