# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
958769 | pcc | Factories (JOI14_factories) | C++17 | 5325 ms | 189792 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 "factories.h"
#include <bits/stdc++.h>
using namespace std;
const int mxn = 5e5+10;
#define ll long long
#define pll pair<ll,ll>
#define pii pair<int,int>
#define fs first
#define sc second
namespace TREE{
vector<pii> tree[mxn];
int dfn[mxn],dep[mxn],par[mxn][20],pt = 0;
ll dp[mxn];
void dfs(int now){
dfn[now] = pt++;
for(int i = 1;i<20;i++)par[now][i] = par[par[now][i-1]][i-1];
for(auto nxt:tree[now]){
if(nxt.fs == par[now][0])continue;
dep[nxt.fs] = dep[now]+1;
dp[nxt.fs] = dp[now]+nxt.sc;
par[nxt.fs][0] = now;
dfs(nxt.fs);
}
}
int LCA(int a,int b){
if(dep[a]<dep[b])swap(a,b);
int d = dep[a]-dep[b];
for(int i = 19;i>=0;i--){
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... |