# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
46321 | RayaBurong25_1 | Beads and wires (APIO14_beads) | C++14 | 256 ms | 17900 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 <stdio.h>
#include <vector>
#define INF 2000000007
std::vector<std::pair<int, int> > AdjList[200005];
int Black[200005];
int White[200005];
int max(int a, int b)
{
return (a > b)?a:b;
}
void dfsSub(int u, int pa)
{
int i, v, s = AdjList[u].size();
// White[u] = -INF;
Black[u] = -INF;
for (i = 0; i < s; i++)
{
v = AdjList[u][i].first;
if (v != pa)
{
dfsSub(v, u);
White[u] += max(Black[v] + AdjList[u][i].second, White[v]);
}
}
for (i = 0; i < s; i++)
{
v = AdjList[u][i].first;
if (v != pa)
{
Black[u] = max(Black[u], White[u] - max(Black[v] + AdjList[u][i].second, White[v]) + AdjList[u][i].second + White[v]);
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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |