Submission #1138558

#TimeUsernameProblemLanguageResultExecution timeMemory
1138558arijit_biswasTraffic (IOI10_traffic)C++20
Compilation error
0 ms0 KiB
#include<bits/stdc++.h>
using namespace std;

#include "traffic.h"

vector<vector<int>> g;
vector<int> subtreeSize;

void dfs(int node, int par, vector<int> &p) {
    subtreeSize[node] += p[node];
    for (int &v : g[node]) {
        if (v != par) {
            dfs(v, node, p);
            subtreeSize[node] += subtreeSize[v];
        }
    }
}

int centroid(int node, int par) {
    for (int &v : g[node]) {
        if (v != par && subtreeSize[v] >= (subtreeSize[0] + 1) / 2) {
            return centroid(v, node);
        }
    }
    return node;
}

int LocateCentre(int n, vector<int> p, vector<int> s, vector<int> d) {
    g.resize(n + 1);
    subtreeSize.assign(n + 1, 0);
    for (int i = 0; i < n - 1; i++) {
        g[s[i]].push_back(d[i]);
        g[d[i]].push_back(s[i]);
    }
    dfs(0, -1, p);
    for (int i = 0; i < n; i++) {
        cout << subtreeSize[i] << " ";
    }
    return centroid(0, -1);
}

Compilation message (stderr)

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