Submission #557882

#TimeUsernameProblemLanguageResultExecution timeMemory
557882hoanghq2004Beads and wires (APIO14_beads)C++14
0 / 100
4 ms5028 KiB
#include <bits/stdc++.h>
#pragma GCC optimize ("O3")
#pragma GCC optimize ("unroll-loops")
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace __gnu_pbds;
using namespace std;

template <typename T>
using ordered_set = tree <T, null_type, less <T>, rb_tree_tag, tree_order_statistics_node_update>;

const int N = 2e5 + 10;

int n;
vector <pair <int, int> > g[N];
int f[N][2];

void dfs(int u, int p) {
    for (auto [v, w]: g[u]) {
        if (v == p) continue;
        dfs(v, u);
    }
    int cur[3] = {0, (int)- 1e9, (int)- 1e9};
    for (auto [v, w]: g[u]) {
        if (v == p) continue;
        int ncur[3] = {0, (int)- 1e9, (int)- 1e9};
        for (int i = 0; i < 3; ++i) {
            ncur[i] = max(ncur[i], cur[i] + max(f[v][0], f[v][1] + w));
            if (i + 1 < 3) ncur[i + 1] = max(ncur[i + 1], cur[i] + f[v][0] + w);
        }
        for (int i = 0; i < 3; ++i) cur[i] = ncur[i];
    }
    f[u][0] = max(cur[0], cur[2]);
    f[u][1] = cur[1];
}

int main() {
    ios :: sync_with_stdio(0); cin.tie(0);
    cin >> n;
    for (int i = 1; i < n; ++i) {
        int u, v, w;
        cin >> u >> v >> w;
        g[u].push_back({v, w});
        g[v].push_back({u, w});
    }
    dfs(1, 0);
    cout << f[1][0] << '\n';
}

Compilation message (stderr)

beads.cpp: In function 'void dfs(int, int)':
beads.cpp:20:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   20 |     for (auto [v, w]: g[u]) {
      |               ^
beads.cpp:25:15: warning: structured bindings only available with '-std=c++17' or '-std=gnu++17'
   25 |     for (auto [v, w]: g[u]) {
      |               ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...