Submission #1162505

#TimeUsernameProblemLanguageResultExecution timeMemory
1162505tw20000807Road Closures (APIO21_roads)C++20
7 / 100
37 ms11592 KiB
#include "roads.h"
#include<bits/stdc++.h>
using namespace std;

vector<long long> minimum_closure_costs(int n, vector<int> u,  vector<int> v, vector<int> w){

    #define all(v) v.begin(), v.end()
    #define int long long
    #define pii pair<int, int>
    #define X first
    #define Y second
    #define SZ(s) ((int)s.size())

    vector< vector< pii > > g(n);
    vector< int > ans(n);
    for(int i = 0; i < n - 1; ++i){
        g[u[i]].push_back({v[i], w[i]});
        g[v[i]].push_back({u[i], w[i]});
        ans[0] += w[i];
    }
    vector< int > dp(n + 1);
    dp[1] = w[0], dp[2] = w[1];
    for(int i = 3; i < n; ++i) dp[i] = max(dp[i - 1], dp[i - 2] + w[i - 1]);
    ans[1] = ans[0] - *max_element(all(dp));
    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...