#include <bits/stdc++.h>
using namespace std;
const int mod = 32609;
vector<vector<int>> g;
vector<int> par, sub_size;
void dfs(int u) {
sub_size[u] = 1;
for (int v : g[u]) {
if (v == par[u]) continue;
par[v] = u;
dfs(v);
sub_size[u] += sub_size[v];
}
}
int main() {
cin.tie(0), ios::sync_with_stdio(0);
int n;
cin >> n;
g.resize(n + 1);
par.resize(n + 1);
sub_size.resize(n + 1);
for (int i = 0; i < n - 1; i++) {
int u, v;
cin >> u >> v;
g[u].push_back(v);
g[v].push_back(u);
}
dfs(1);
vector<array<int, 3>> edges;
for (int i = 2; i <= n; i++) {
int ss = sub_size[i];
edges.push_back({ss * (n - ss) * 2, i, par[i]});
}
sort(edges.begin(), edges.end());
vector<int> costs(n - 1);
for (int& c : costs) cin >> c;
sort(costs.begin(), costs.end());
int res = 0;
for (int i = 0; i < n - 1; i++) {
res += (edges[i][0] % mod) * (costs[i] % mod);
res %= mod;
}
cout << res << '\n';
for (int i = 0; i < n - 1; i++) {
cout << edges[i][1] << ' ' << edges[i][2] << ' ' << costs[i] << '\n';
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1828 KiB | |||
2 | Elfogadva | 0/0 | 25ms | 6024 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2744 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2956 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 3176 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 3392 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 3600 KiB | |||
8 | Elfogadva | 8/8 | 59ms | 20492 KiB | |||
9 | Elfogadva | 2/2 | 3ms | 5088 KiB | |||
10 | Elfogadva | 2/2 | 4ms | 5180 KiB | |||
11 | Elfogadva | 2/2 | 3ms | 5212 KiB | |||
12 | Elfogadva | 2/2 | 3ms | 5248 KiB | |||
13 | Elfogadva | 2/2 | 4ms | 5252 KiB | |||
14 | Elfogadva | 2/2 | 57ms | 14344 KiB | |||
15 | Elfogadva | 2/2 | 59ms | 15376 KiB | |||
16 | Elfogadva | 2/2 | 61ms | 16648 KiB | |||
17 | Elfogadva | 2/2 | 57ms | 17704 KiB | |||
18 | Elfogadva | 2/2 | 59ms | 18876 KiB | |||
19 | Elfogadva | 2/2 | 61ms | 20012 KiB | |||
20 | Elfogadva | 2/2 | 61ms | 20952 KiB | |||
21 | Elfogadva | 2/2 | 61ms | 21992 KiB | |||
22 | Elfogadva | 2/2 | 59ms | 23184 KiB | |||
23 | Elfogadva | 2/2 | 61ms | 24456 KiB | |||
24 | Elfogadva | 2/2 | 59ms | 25624 KiB |