Submission #1216644

#TimeUsernameProblemLanguageResultExecution timeMemory
1216644JooDdaeTowns (IOI15_towns)C++20
25 / 100
9 ms516 KiB
#include "towns.h"
#include <bits/stdc++.h>
using namespace std;

int hubDistance(int N, int sub) {
    vector<vector<int>> D(N, vector<int>(N, 0));
    for(int i=1;i<N;i++) D[0][i] = D[i][0] = getDistance(0, i);
    int E = max_element(D[0].begin(), D[0].end()) - D[0].begin();
    for(int i=0;i<N;i++) if(i != E) D[E][i] = D[i][E] = getDistance(E, i);
    int X = max_element(D[E].begin(), D[E].end()) - D[E].begin();

    vector<int> C(N, 0);
    for(int i=0;i<N;i++) C[i] = (D[E][i]+D[0][E] - D[0][i])/2;
    
    int R = 1e9;
    for(int i=0;i<N;i++) if(i != E && C[i] <= C[X]) R = min(R, max(C[i], D[E][X]-C[i]));
    return R;
}
#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...