#include"bits/stdc++.h"
using namespace std;
using ll=long long;
#define S second
#define F first
int p[300],T,M;
int fnd(int v){
    if(v!=p[v])p[v]=fnd(p[v]);
    return p[v];
}
void mrg(int a,int b){
    a=fnd(a),b=fnd(b);
    p[b]=a;
}
int main(){
    cin.tie(0)->sync_with_stdio(0);
    int n,m;
    cin>>n>>m;
    array<int,5>a[m];
    for(auto&i:a){
        cin>>i[3]>>i[4]>>i[1]>>i[2];
        i[0]=i[1]*i[2]*0;
    }
    for(int i=0;i<300;i++)p[i]=i;
    vector<pair<int,int>>ans;
    sort(a,a+m);
    
    for(auto i:a){
        if(fnd(i[3])==fnd(i[4]))continue;
        ans.push_back({i[3],i[4]});
        mrg(i[3],i[4]);
        T+=i[1];
        M+=i[2];
    }
    cout<<T<<' '<<M<<'\n';
    for(auto i:ans)cout<<i.F<<' '<<i.S<<'\n';
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |