#include "roads.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
#define pb push_back
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(), x.rend()
#define FOR(i, a, b) for(ll i = (a); i < (b); ++i)
#define FORD(i, a, b) for(ll i = (a); i >= (b); --i)
#define ok cout << "ok\n";
std::vector<ll> minimum_closure_costs(int n, std::vector<int> U, std::vector<int> V, std::vector<int> W) {
vector<ll> w(n - 1);
FOR(i, 0, n - 1) w[i] = W[i];
vector<ll> dp(n - 1);
dp[0] = w[0];
if(n > 2) dp[1] = w[1];
FOR(i, 2, n - 1) dp[i] = min(dp[i - 2] + w[i], dp[i - 1] + w[i]);
vector<ll> res(n, 0);
res[0] = accumulate(all(w), 0LL);
res[1] = dp[n - 1];
if(n > 2) {
res[1] = min(res[1], dp[n - 2]);
}
return res;
}