196122025-12-17 09:37:59ercseferencÚtadócpp17Hibás válasz 0/50184ms5296 KiB
#include <bits/stdc++.h>
using namespace std;
vector<int>al;
struct fa{vector<int>kim;};
bool has1(int n, int m){
    return al[n]<al[m];}
int main()
{
    //ifstream f("szamok.txt");
    int n; cin>>n; vector<fa>a(n+1); vector<int>apa(n+1);
    al.resize(n+1);
    vector<bool>volt(n+1),joe(n+1); volt[1]=1;
    for(int i=1; i<n; i++){
        int x,y; cin>>x>>y;
        a[x].kim.push_back(y);
        a[y].kim.push_back(x);}
    vector<int>ert(n);
    for(int i=1; i<n; i++)cin>>ert[i];
    sort(ert.begin(), ert.end());
    queue<int>q; q.push(1);
    while(!q.empty()){
        int r=q.front();
        for(int i:a[r].kim){
            if(!volt[i]){
                apa[i]=r;
                volt[i]=1;
                q.push(i);}}
        q.pop();}
    for(int i=1; i<=n; i++){
        joe[apa[i]]=1;}
    vector<int>indul;
     for(int i=1; i<=n; i++){
        if(!joe[i])indul.push_back(i);}
    al[1]=n-1;
    for(int i:indul){
        int t=i;
        while(t!=1){
            al[t]++;
            t=apa[t];}}
    /*for(int i=1; i<=n; i++){
        cout<<i<<" "<<al[i]<<endl;}*/
    vector<int>sor;
    for(int i=2; i<=n; i++)sor.push_back(i);
    sort(sor.begin(), sor.end(), has1);
    //for(int i:sor)cout<<al[i]<<" ";
    //cout<<endl;
    //for(int i:ert)cout<<i<<" ";
    //cout<<endl;
    int s=0;
    int c=32609;
    for(int i=1; i<=n-1; i++)
        /*s+=ert[i]*al[sor[i]]*/
        s+=(ert[i]*al[sor[i-1]]*(n-al[sor[i-1]]))%c;
    cout<<2*s<<endl;
    for(int i=1; i<n; i++){
        cout<<sor[i-1]<<" "<<apa[sor[i-1]]<<" "<<ert[i]<<endl;
    }
    return 0;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base0/50
1Elfogadva0/01ms500 KiB
2Hibás válasz0/068ms2252 KiB
3Hibás válasz0/21ms316 KiB
4Hibás válasz0/21ms316 KiB
5Hibás válasz0/21ms316 KiB
6Hibás válasz0/21ms316 KiB
7Hibás válasz0/21ms316 KiB
8Hibás válasz0/8158ms4912 KiB
9Hibás válasz0/24ms316 KiB
10Hibás válasz0/24ms444 KiB
11Hibás válasz0/24ms316 KiB
12Hibás válasz0/24ms316 KiB
13Hibás válasz0/24ms316 KiB
14Hibás válasz0/2165ms5040 KiB
15Hibás válasz0/2162ms5040 KiB
16Hibás válasz0/2160ms5104 KiB
17Hibás válasz0/2159ms5040 KiB
18Hibás válasz0/2166ms5040 KiB
19Hibás válasz0/2166ms4992 KiB
20Hibás válasz0/2167ms5052 KiB
21Hibás válasz0/2165ms5040 KiB
22Hibás válasz0/2184ms5036 KiB
23Hibás válasz0/2182ms5028 KiB
24Hibás válasz0/2179ms5296 KiB