# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1154887 | knhatdev | Factories (JOI14_factories) | C++20 | 2262 ms | 175872 KiB |
#include<bits/stdc++.h>
#include "factories.h"
#define ll long long
#define ii pair<int,int>
#define fi first
#define se second
using namespace std;
const int N = 5e5 + 5;
const ll oo = 1e18;
int n, q, tin[N], tout[N], h[N], timer, up[N][25];
vector<ii> g[N];
ll sum[N];
vector<pair<int, ll>> g2[N];
int type[N];
ll res, dp[N][5];
void dfs2(int u){
dp[u][0] = dp[u][1] = oo;
if(type[u] != -1){
dp[u][type[u]] = 0;
}
for(pair<int,ll> tmp : g2[u]){
int v = tmp.fi;
ll c = tmp.se;
dfs2(v);
res = min(res,
min(dp[u][0] + c + dp[v][1], dp[u][1] + c + dp[v][0]));
for(int t = 2; t--;){
dp[u][t] = min(dp[u][t], dp[v][t] + c);
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |