제출 #1325294

#제출 시각아이디문제언어결과실행 시간메모리
1325294altern23도시들 (IOI15_towns)C++20
25 / 100
15 ms444 KiB
#include "towns.h"
#include <bits/stdc++.h>
using namespace std;

int hubDistance(int N, int sub) {
	pair<int, int> MX = {0, 0};
      for (int i = 1; i < N; i++) {
            MX = max(MX, {getDistance(0, i), i});
      }

      int root = MX.second, diam = 0;
      vector <int> dist(N);

      int j = root;
      for (int i = 0; i < N; i++) {
            if (i == root) continue;
            dist[i] = getDistance(root, i);
            if (diam < dist[i]) {
                  diam = dist[i];
                  j = i;
            }
      }

      int ans = diam;

      for (int i = 0; i < N; i++) {
            int cur = (dist[i] + dist[j] - getDistance(i, j)) / 2;
            ans = min(ans, max(cur, diam - cur));
      }

      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...
#Verdict Execution timeMemoryGrader output
Fetching results...