Submission #916287

# Submission time Handle Problem Language Result Execution time Memory
916287 2024-01-25T15:21:26 Z Alcabel Beads and wires (APIO14_beads) C++17
28 / 100
1000 ms 6492 KB
#include <bits/stdc++.h>
using namespace std;

const int maxn = 2e5;
const long long inf = 1e11;
vector<pair<int, int>> g[maxn];
long long dp[maxn][2];

void dfsCalc(int v, int p) {
    dp[v][0] = 0, dp[v][1] = -inf;
    for (const auto& [u, w] : g[v]) {
        if (u != p) {
            dfsCalc(u, v);
            dp[v][0] += max(dp[u][0], dp[u][1] + w);
        }
    }
    for (const auto& [u, w] : g[v]) {
        if (u != p) {
            dp[v][1] = max(dp[v][1], dp[v][0] - max(dp[u][0], dp[u][1] + w) + dp[u][0] + w);
        }
    }
}

void solve() {
    int n;
    cin >> n;
    for (int i = 0; i < n - 1; ++i) {
        int v, u, w;
        cin >> v >> u >> w;
        --v, --u;
        g[v].emplace_back(u, w);
        g[u].emplace_back(v, w);
    }
    long long ans = 0;
    for (int r = 0; r < n; ++r) {
        dfsCalc(r, -1);
        ans = max(ans, dp[r][0]);
    }
    cout << ans << '\n';
}

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

#ifdef LOCAL
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    int T = 1;
    cin >> T;
    while (T--) {
        solve();
        cerr << "-----------\n";
        cout << "-----------\n";
    }
#else
    int T = 1;
    // cin >> T;
    while (T--) {
        solve();
    }
#endif

    return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 5976 KB Output is correct
2 Correct 2 ms 5980 KB Output is correct
3 Correct 2 ms 5980 KB Output is correct
4 Correct 3 ms 5980 KB Output is correct
5 Correct 2 ms 5980 KB Output is correct
6 Correct 2 ms 5980 KB Output is correct
7 Correct 2 ms 5980 KB Output is correct
8 Correct 2 ms 5980 KB Output is correct
9 Correct 2 ms 5980 KB Output is correct
10 Correct 2 ms 5980 KB Output is correct
11 Correct 2 ms 5980 KB Output is correct
12 Correct 2 ms 5976 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 5976 KB Output is correct
2 Correct 2 ms 5980 KB Output is correct
3 Correct 2 ms 5980 KB Output is correct
4 Correct 3 ms 5980 KB Output is correct
5 Correct 2 ms 5980 KB Output is correct
6 Correct 2 ms 5980 KB Output is correct
7 Correct 2 ms 5980 KB Output is correct
8 Correct 2 ms 5980 KB Output is correct
9 Correct 2 ms 5980 KB Output is correct
10 Correct 2 ms 5980 KB Output is correct
11 Correct 2 ms 5980 KB Output is correct
12 Correct 2 ms 5976 KB Output is correct
13 Correct 2 ms 5980 KB Output is correct
14 Correct 2 ms 6056 KB Output is correct
15 Correct 2 ms 5980 KB Output is correct
16 Correct 3 ms 5980 KB Output is correct
17 Correct 2 ms 5980 KB Output is correct
18 Correct 3 ms 5980 KB Output is correct
19 Correct 2 ms 5980 KB Output is correct
20 Correct 2 ms 5980 KB Output is correct
21 Correct 3 ms 5980 KB Output is correct
22 Correct 2 ms 5980 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 5976 KB Output is correct
2 Correct 2 ms 5980 KB Output is correct
3 Correct 2 ms 5980 KB Output is correct
4 Correct 3 ms 5980 KB Output is correct
5 Correct 2 ms 5980 KB Output is correct
6 Correct 2 ms 5980 KB Output is correct
7 Correct 2 ms 5980 KB Output is correct
8 Correct 2 ms 5980 KB Output is correct
9 Correct 2 ms 5980 KB Output is correct
10 Correct 2 ms 5980 KB Output is correct
11 Correct 2 ms 5980 KB Output is correct
12 Correct 2 ms 5976 KB Output is correct
13 Correct 2 ms 5980 KB Output is correct
14 Correct 2 ms 6056 KB Output is correct
15 Correct 2 ms 5980 KB Output is correct
16 Correct 3 ms 5980 KB Output is correct
17 Correct 2 ms 5980 KB Output is correct
18 Correct 3 ms 5980 KB Output is correct
19 Correct 2 ms 5980 KB Output is correct
20 Correct 2 ms 5980 KB Output is correct
21 Correct 3 ms 5980 KB Output is correct
22 Correct 2 ms 5980 KB Output is correct
23 Correct 450 ms 6360 KB Output is correct
24 Correct 447 ms 6356 KB Output is correct
25 Correct 453 ms 6388 KB Output is correct
26 Execution timed out 1043 ms 6492 KB Time limit exceeded
27 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 5976 KB Output is correct
2 Correct 2 ms 5980 KB Output is correct
3 Correct 2 ms 5980 KB Output is correct
4 Correct 3 ms 5980 KB Output is correct
5 Correct 2 ms 5980 KB Output is correct
6 Correct 2 ms 5980 KB Output is correct
7 Correct 2 ms 5980 KB Output is correct
8 Correct 2 ms 5980 KB Output is correct
9 Correct 2 ms 5980 KB Output is correct
10 Correct 2 ms 5980 KB Output is correct
11 Correct 2 ms 5980 KB Output is correct
12 Correct 2 ms 5976 KB Output is correct
13 Correct 2 ms 5980 KB Output is correct
14 Correct 2 ms 6056 KB Output is correct
15 Correct 2 ms 5980 KB Output is correct
16 Correct 3 ms 5980 KB Output is correct
17 Correct 2 ms 5980 KB Output is correct
18 Correct 3 ms 5980 KB Output is correct
19 Correct 2 ms 5980 KB Output is correct
20 Correct 2 ms 5980 KB Output is correct
21 Correct 3 ms 5980 KB Output is correct
22 Correct 2 ms 5980 KB Output is correct
23 Correct 450 ms 6360 KB Output is correct
24 Correct 447 ms 6356 KB Output is correct
25 Correct 453 ms 6388 KB Output is correct
26 Execution timed out 1043 ms 6492 KB Time limit exceeded
27 Halted 0 ms 0 KB -