Submission #718982

#TimeUsernameProblemLanguageResultExecution timeMemory
718982KarukTowns (IOI15_towns)C++14
0 / 100
15 ms468 KiB
#include "towns.h"
#include<bits/stdc++.h>
using namespace std;
map<pair<int,int>,int>m;
map<pair<int,int>,bool>isused;
int getDDD(int x,int y) {
    if(isused[{x,y}]==1)return m[{x,y}];
    isused[{x,y}]=1;
    isused[{y,x}]=1;
    m[{x,y}]=getDistance(x,y);
    m[{y,x}]=m[{x,y}];
    return m[{y,x}];
}
int getmindist(int f,int s,int t) {
    int d1=getDDD(f,s);
    int d2=getDDD(s,t);
    int d3=getDDD(f,t);
    int dd=(d1+d2-d3)/2;
    int d=(d1+d3-d2)/2;
    int ddd=(d2+d3-d1)/2;
    return max(max(d,dd),ddd);
}
int hubDistance(int n,int sub) {
    int maxd=0,maxind=0;
    int md=0;
    for(int i=1;i<n;i++) {
        int p=getDDD(0,i);
        if(maxd<p) {
            maxd=p;
            maxind=i;
        }
    }
    md=maxind;
    maxd=0;
    maxind=0;
    for(int i=0;i<n;i++) {
        if(i==md)continue;
        int p=getDDD(md,i);
        if(maxd<p) {
            maxd=p;
            maxind=i;
        }
    }
    int minr=INT_MAX;
    for(int i=0;i<n;i++) {
        if(i==md || i==maxind)continue;
        minr=min(minr,getmindist(i,md,maxind));
    }
    return minr;
}

Compilation message (stderr)

towns.cpp: In function 'int hubDistance(int, int)':
towns.cpp:23:27: warning: unused parameter 'sub' [-Wunused-parameter]
   23 | int hubDistance(int n,int sub) {
      |                       ~~~~^~~
#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...