Submission #537224

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
5372242022-03-14 18:45:16Leonardo_PaesBeads and wires (APIO14_beads)C++17
0 / 100
1 ms468 KiB
#include <bits/stdc++.h>
using namespace std;
typedef pair<int,int> pii;
#define f first
#define s second
const int maxn = 1e4+10, inf = 0x3f3f3f3f;
vector<pii> grafo[maxn];
int dp[maxn][2];
// edg + dp[id][0] - dp[id][1];
void solve(int u, int p = 0, int e = -1){
int sum = 0, sons = 0;
int mx[2] = {-inf, -inf};
for(pii vv : grafo[u]){
int v = vv.f, w = vv.s;
if(v == p) continue;
sons++;
solve(v, u, w);
int aux = w + dp[v][0] - dp[v][1];
mx[1] = max(mx[1], aux);
if(mx[0] < mx[1]) swap(mx[0], mx[1]);
sum += dp[v][1];
}
if(sons >= 2) dp[u][0] = sum + mx[0] + mx[1];
else dp[u][0] = max(dp[grafo[u][0].f][0], dp[grafo[u][0].f][1]);
if(e != -1 and mx[0] != -inf) dp[u][1] = e + sum + mx[0];
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...