1331 | 2022. 05. 14 14:51:46 | nkdorka1212 | Útadó | cpp11 | Elfogadva 50/50 | 67ms | 23732 KiB |
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#pragma GCC target ("avx2")
#pragma GCC optimization ("O3")
#pragma GCC optimization ("unroll-loops")
ll mod=32609;
ll n;
vector<ll>vis;
vector<vector<ll>>g;
vector<ll>child;
vector<ll>row;
vector<ll>ado;
vector<bool>kifok;
vector<pair<ll,pair<ll,ll>>>elek;
void dfs(ll v)
{
vis[v]=true;
for(ll x:g[v])
{
if(!vis[x])
{
dfs(x);
}
}
row.push_back(v);
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cin>>n;
vis.resize(n+1,0);
g.resize(n+1);
child.resize(n+1,0);
ado.resize(n-1);
kifok.resize(n+1,0);
for(ll i=1;i<=n-1;i++)
{
ll a,b;
cin>>a>>b;
g[a].push_back(b);
kifok[a]=true;
elek.push_back({0,{a,b}});
}
for(ll i=0;i<=n-2;i++)
{
cin>>ado[i];
}
sort(ado.begin(),ado.end());
dfs(1);
for(ll x:row)
{
if(!kifok[x])
{
child[x]=1;
}else
{
for(ll y:g[x])
{
child[x]+=child[y];
}
child[x]+=1;
}
}
for(auto &x:elek)
{
x.first=child[x.second.second]*(n-child[x.second.second]);
}
sort(elek.begin(),elek.end());
ll sum=0;
for(ll i=0;i<=n-2;i++)
{
sum+=ado[i]*elek[i].first;
sum%=mod;
elek[i].first=ado[i];
}
sum*=2;
sum%=mod;
cout<<sum<<'\n';
for(auto x:elek)
{
cout<<x.second.first<<" "<<x.second.second<<" "<<x.first<<'\n';
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 2ms | 1804 KiB | |||
2 | Elfogadva | 0/0 | 23ms | 6824 KiB | |||
3 | Elfogadva | 2/2 | 1ms | 2284 KiB | |||
4 | Elfogadva | 2/2 | 1ms | 2284 KiB | |||
5 | Elfogadva | 2/2 | 1ms | 2288 KiB | |||
6 | Elfogadva | 2/2 | 1ms | 2296 KiB | |||
7 | Elfogadva | 2/2 | 1ms | 2300 KiB | |||
8 | Elfogadva | 8/8 | 61ms | 19820 KiB | |||
9 | Elfogadva | 2/2 | 2ms | 3576 KiB | |||
10 | Elfogadva | 2/2 | 2ms | 3604 KiB | |||
11 | Elfogadva | 2/2 | 2ms | 3628 KiB | |||
12 | Elfogadva | 2/2 | 2ms | 3652 KiB | |||
13 | Elfogadva | 2/2 | 2ms | 3668 KiB | |||
14 | Elfogadva | 2/2 | 61ms | 14936 KiB | |||
15 | Elfogadva | 2/2 | 67ms | 16004 KiB | |||
16 | Elfogadva | 2/2 | 54ms | 17064 KiB | |||
17 | Elfogadva | 2/2 | 54ms | 18128 KiB | |||
18 | Elfogadva | 2/2 | 54ms | 17832 KiB | |||
19 | Elfogadva | 2/2 | 57ms | 18944 KiB | |||
20 | Elfogadva | 2/2 | 54ms | 20080 KiB | |||
21 | Elfogadva | 2/2 | 54ms | 21144 KiB | |||
22 | Elfogadva | 2/2 | 54ms | 21600 KiB | |||
23 | Elfogadva | 2/2 | 57ms | 22676 KiB | |||
24 | Elfogadva | 2/2 | 52ms | 23732 KiB |