# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
62125 | Osama_Alkhodairy | Factories (JOI14_factories) | C++17 | 8096 ms | 123332 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
#pragma GCC_optimize("O3")
int n, dep[500001], par[500001][20];
ll sum[500001];
vector <pair <int, ll> > v[500001];
void dfs(int node, int pnode, int d, ll s){
par[node][0] = pnode;
dep[node] = d;
sum[node] = s;
for(auto &i : v[node])
if(i.first != pnode)
dfs(i.first, node, d + 1, s + i.second);
}
void build(){
dfs(0, -1, 0, 0);
int cur = 1;
while((1 << cur) <= n){
for(int i = 0 ; i < n ; i++){
if(par[i][cur - 1] == -1) par[i][cur] = -1;
else par[i][cur] = par[par[i][cur - 1]][cur - 1];
}
cur++;
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |