Submission #1210998

#TimeUsernameProblemLanguageResultExecution timeMemory
1210998chambiTraffic (IOI10_traffic)C++20
Compilation error
0 ms0 KiB
#include "traffic.h"
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
const int maximo= 1000005;
vector<int>conexiones[maximo];
vector<int>fanaticos;
vector<long long>s_fanaticos;
int N;
long long t_fanaticos=0;
int mejor_ciudad=-1;
void calcular(int ciudad, int padre){
    s_fanaticos[ciudad]=fanaticos[ciudad];
    for(int vecino:conexiones[ciudad]){
        if(vecino==padre){
            continue;
        }
        calcular(vecino, ciudad);
        s_fanaticos[ciudad]+=s_fanaticos[vecino];
    }
}
void centro(int ciudad, int padre){
    bool es_centro=true;
    for(int vecino:conexiones[ciudad]){
        if(vecino==padre){
            continue;
        }
        if(s_fanaticos[vecino]>t_fanaticos/2){
            es_centro=false;
            centro(vecino, ciudad);
            return;
        }
        long long fuera= t_fanaticos-s_fanaticos[ciudad];
        if(fuera>t_fanaticos/2){
            es_centro=false;
            centro(vecino, ciudad);
            return;
        }
        if(centro){
            mejor_ciudad=ciudad;
        }
    }
}
int LocateCenter(int n, vector<int>&P, vector<int>&S, vector<int>&D){
    N=n;
    fanaticos=P;
    s_fanaticos.assign(N, 0);
    t_fanaticos=0;
    mejor_ciudad=-1;
    for(int i=0; i<N-1; i++){
        conexiones[S[i]].push_back(D[i]);
        conexiones[D[i]].push_back(S[i]);
    }
    for(int f:P){
        t_fanaticos+=f;
    }
    calcular(0, -1);
    centro(0, -1);
    return mejor_ciudad;
}

Compilation message (stderr)

/usr/bin/ld: /tmp/ccS0vM7z.o: in function `main':
grader.cpp:(.text.startup+0xef): undefined reference to `LocateCentre(int, int*, int*, int*)'
collect2: error: ld returned 1 exit status