# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1175796 | ahmedhali107 | Factories (JOI14_factories) | C++20 | 0 ms | 0 KiB |
#include "factories.h"
#include <bits/stdc++.h>
#define all(x) begin(x), end(x)
#define int long long
using namespace std;
using ll = long long;
const char nl = '\n', sp = ' ';
const ll inf = 1e18;
struct centroid_decomposition {
int n;
vector<vector<int> > anc;
vector<vector<ll> > up;
vector<vector<pair<int, int> > > g;
vector<int> sz, colour;
vector<map<ll, int> > closest;
vector<bool> is_removed;
centroid_decomposition() {
}
centroid_decomposition(int n) : n(n) {
g.assign(n, {});
anc.assign(n, {});
closest.assign(n, {});
up.assign(n, {});
sz.assign(n, 0);
colour.assign(n, 0);