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