242 2021. 03. 05 15:41:18 balinttt Útadó cpp14 Elfogadva 50/50 115ms 23692 KiB
#include<bits/stdc++.h>

using namespace std;

class pont{
public:
    vector<int> hova;
    long long meret=0;
    int dfs();
};

class edge{
public:
    int a, b;
    long long meret=0;
    int resi;
};

vector<pont> p;
vector<edge> e;

int n;

int pont::dfs(){
    if(!meret){
        meret = 1;
        for(int i : hova){
            meret+=p[i].dfs();
        }
        return meret;
    }
    return 0;
}

bool cmp1(const edge& e1, const edge& e2){
    return e1.meret < e2.meret;
}

int main(){
    cin >> n;
    //cout << n << "=N\n";
    p.resize(n);
    e.resize(n-1);
    //cout << n << "=N\n";
    for(int i=0;i<n-1;i++){
        cin >> e[i].a >> e[i].b;
        --e[i].a; --e[i].b;
        p[e[i].a].hova.push_back(e[i].b);
        p[e[i].b].hova.push_back(e[i].a);
    }
    //cout << n << "=N\n";
    p[0].dfs();
    //cout << n << "=N\n";
    for(int i=0;i<n-1;i++){
        e[i].meret = min(p[e[i].a].meret,p[e[i].b].meret)*
        (n-(min(p[e[i].a].meret,p[e[i].b].meret)));
    }
    //cout << n << "=N\n";
    vector<int> v(n-1);
    for(int i=0;i<n-1;i++){
        cin >> v[i];
    }
    sort(v.begin(), v.end());
    sort(e.begin(), e.end(), cmp1);
    long long er = 0;
    for(int i=0;i<n-1;i++){
        e[i].resi = v[i];
        er+=e[i].meret%32609*e[i].resi;
        er%=32609;
    }
    cout << er*2%32609 << '\n';
    for(int i=0;i<n-1;i++){
        cout << e[i].a+1 << ' ' << e[i].b+1 << ' ' << e[i].resi << '\n';
    }
return 0;
}
Részfeladat Összpont Teszt Verdikt Idő Memória
base 50/50
1 Elfogadva 0/0 2ms 1752 KiB
2 Elfogadva 0/0 39ms 5680 KiB
3 Elfogadva 2/2 1ms 2260 KiB
4 Elfogadva 2/2 1ms 2264 KiB
5 Elfogadva 2/2 1ms 2272 KiB
6 Elfogadva 2/2 1ms 2280 KiB
7 Elfogadva 2/2 1ms 2284 KiB
8 Elfogadva 8/8 114ms 16908 KiB
9 Elfogadva 2/2 4ms 3412 KiB
10 Elfogadva 2/2 3ms 3436 KiB
11 Elfogadva 2/2 3ms 3452 KiB
12 Elfogadva 2/2 3ms 3600 KiB
13 Elfogadva 2/2 3ms 3492 KiB
14 Elfogadva 2/2 104ms 13288 KiB
15 Elfogadva 2/2 97ms 14328 KiB
16 Elfogadva 2/2 97ms 15380 KiB
17 Elfogadva 2/2 115ms 16448 KiB
18 Elfogadva 2/2 96ms 17464 KiB
19 Elfogadva 2/2 108ms 18508 KiB
20 Elfogadva 2/2 108ms 19548 KiB
21 Elfogadva 2/2 104ms 20532 KiB
22 Elfogadva 2/2 101ms 21592 KiB
23 Elfogadva 2/2 104ms 22640 KiB
24 Elfogadva 2/2 101ms 23692 KiB