Submission #1243500

#TimeUsernameProblemLanguageResultExecution timeMemory
1243500moondarksideTowns (IOI15_towns)C++20
25 / 100
9 ms468 KiB
#include<bits/stdc++.h>
using namespace std;

int getDistance(int i,int j);

int hubDistance(int N,int sub){
    int D1=0;
    int maxD=0;
    for(int i=1;i<N;i++){
        int d=getDistance(0,i);
        if(d>maxD){
            maxD=d;
            D1=i;
        }
    }
    
    std::vector<int> Distances;
    
    maxD=0;
    int D2=0;
    for(int i=0;i<N;i++){
        int d=getDistance(D1,i);
        if(d>maxD){
            maxD=d;
            D2=i;
        }
        Distances.push_back(d);
    }
    
    int R=100000000;
    
    for(int i=0;i<N;i++){
        int d=getDistance(D2,i);
        int k=(d+Distances[i]-maxD)/2;
        int d1=Distances[i]-k;
        int d2=d-k;
        d=max(d1,d2);
        R=min(R,d);
    }
    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...