Submission #1186445

#TimeUsernameProblemLanguageResultExecution timeMemory
1186445FaresSTH시간이 돈 (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[2])==fnd(i[3]))continue; ans.push_back({i[2],i[3]}); mrg(i[2],i[3]); T+=i[0]; } cout<<T<<' '<<T<<'\n'; for(auto i:ans)cout<<i.F<<' '<<i.S<<'\n'; }
#Verdict Execution timeMemoryGrader output
Fetching results...