Submission #1186443

#TimeUsernameProblemLanguageResultExecution timeMemory
1186443FaresSTHtimeismoney (balkan11_timeismoney)C++20
5 / 100
2 ms584 KiB
#include "bits/stdc++.h"
using namespace std;
using ll=long long;
#define S second
#define F first
vector<array<int,3>>edg;
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,4>a[m];
    for(auto&i:a){
        cin>>i[2]>>i[3]>>i[0]>>i[1];
        T+=i[0];
        M+=i[1];
    }
    if(m==n-1){
        cout<<T<<' '<<M<<'\n';
        for(auto i:a)cout<<i[2]<<' '<<i[3]<<'\n';
        return 0;
    }
    for(int i=0;i<300;i++)p[i]=i;
    vector<pair<int,int>>ans;
    sort(a,a+m);
    T=0;
    
    for(auto i:edg){
        if(fnd(i[1])==fnd(i[2]))continue;
        ans.push_back({i[1],i[2]});
        mrg(i[1],i[2]);
        T+=i[0];
    }
    cout<<T<<' '<<T<<'\n';
    for(auto i:ans)cout<<i.F<<' '<<i.S<<'\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...