# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
340004 | penguinhacker | Factories (JOI14_factories) | C++14 | 6049 ms | 335416 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "factories.h"
using namespace std;
#define ll long long
#define ar array
const int mxN = 500000;
int n, sz[mxN];
ll best[mxN];
bool dead[mxN];
vector<pair<int, int>> adj[mxN];
vector<pair<int, ll>> par[mxN];
int dfs_sz(int u, int p) {
sz[u] = 1;
for (pair<int, int>& v : adj[u]) if (v.first != p && !dead[v.first])
sz[u] += dfs_sz(v.first, u);
return sz[u];
}
int get_centroid(int u, int p, int tsz) {
for (pair<int, int>& v : adj[u]) if (v.first != p && !dead[v.first] && 2 * sz[v.first] > tsz)
return get_centroid(v.first, u, tsz);
return u;
}
void dfs(int u, int p, int c, ll d) {
par[u].emplace_back(c, d);
for (pair<int, int>& v : adj[u]) if (v.first != p && !dead[v.first])
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |