9529 | 2024. 02. 22 15:43:13 | Vkrisztian01 | Útadó | cpp17 | Elfogadva 50/50 | 104ms | 24528 KiB |
#include <iostream>
#include<vector>
#include<algorithm>
#include<map>
#include<queue>
using namespace std;
int const d=32609;
long long int n,a,b;
long long int s=0;
vector<long long int>edges;
vector<vector<pair<int,int> > > g;
vector<long long int>labels;
vector<long long int>dp;
priority_queue<pair<long long int,int> > seged;
vector<pair<int,int> > lo;
void dfs(int node)
{
for(auto to:g[node])
{
dfs(to.first);
dp[node]+=dp[to.first];
seged.push(make_pair(dp[to.first]*(n-dp[to.first])*2,to.second));
}
}
int main()
{
cin>>n;
g.resize(n+1);
labels.resize(n-1);
edges.resize(n);
dp.assign(n+1,1);
lo.resize(n+1);
for(int i=1;i<n;i++)
{
cin>>a>>b;
g[a].push_back(make_pair(b,i));
lo[i]=make_pair(b,a);
}
for(int i=0;i<n-1;i++) cin>>labels[i];
sort(labels.begin(),labels.end(),greater<>());
dfs(1);
a=0;
while(!seged.empty())
{
s+=labels[a]*seged.top().first;
s%=d;
edges[seged.top().second]=labels[a];
++a;
seged.pop();
}
cout<<s<<endl;
for(int i=1;i<=n-1;i++)
{
cout<<lo[i].first<<" "<<lo[i].second<<" "<<edges[i]<<"\n";
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1876 KiB | |||
2 | Elfogadva | 0/0 | 39ms | 6464 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2292 KiB | |||
4 | Elfogadva | 2/2 | 3ms | 2504 KiB | |||
5 | Elfogadva | 2/2 | 3ms | 2584 KiB | |||
6 | Elfogadva | 2/2 | 3ms | 2720 KiB | |||
7 | Elfogadva | 2/2 | 3ms | 2932 KiB | |||
8 | Elfogadva | 8/8 | 96ms | 24528 KiB | |||
9 | Elfogadva | 2/2 | 4ms | 3360 KiB | |||
10 | Elfogadva | 2/2 | 4ms | 3372 KiB | |||
11 | Elfogadva | 2/2 | 4ms | 3364 KiB | |||
12 | Elfogadva | 2/2 | 4ms | 3516 KiB | |||
13 | Elfogadva | 2/2 | 4ms | 3476 KiB | |||
14 | Elfogadva | 2/2 | 100ms | 12760 KiB | |||
15 | Elfogadva | 2/2 | 104ms | 12720 KiB | |||
16 | Elfogadva | 2/2 | 97ms | 12756 KiB | |||
17 | Elfogadva | 2/2 | 98ms | 12812 KiB | |||
18 | Elfogadva | 2/2 | 97ms | 12848 KiB | |||
19 | Elfogadva | 2/2 | 100ms | 13052 KiB | |||
20 | Elfogadva | 2/2 | 100ms | 13128 KiB | |||
21 | Elfogadva | 2/2 | 100ms | 13132 KiB | |||
22 | Elfogadva | 2/2 | 100ms | 13144 KiB | |||
23 | Elfogadva | 2/2 | 100ms | 13264 KiB | |||
24 | Elfogadva | 2/2 | 101ms | 13408 KiB |