Submission #467940

#TimeUsernameProblemLanguageResultExecution timeMemory
467940czhang2718timeismoney (balkan11_timeismoney)C++14
40 / 100
5 ms588 KiB
#include "bits/stdc++.h" using namespace std; #define nl '\n' int n, m; const int N=200; int par[N]; vector<pair<int, pair<int, int>>> edges; int find(int x){ if(par[x]==x) return x; return par[x]=find(par[x]); } bool join(int x, int y){ if(find(x)==find(y)) return 0; par[find(x)]=find(y); return 1; } int main(){ cin.tie(0)->sync_with_stdio(0); // freopen("input.txt", "r", stdin); // freopen("timeismoney.out", "w", stdout); cin >> n >> m; for(int i=0; i<n; i++) par[i]=i; for(int i=0; i<m; i++){ int u, v, c, t; cin >> u >> v >> t >> c; edges.push_back({c, {u, v}}); } int ans=0; vector<pair<int, int>> use; sort(edges.begin(), edges.end()); for(auto p:edges){ int u=p.second.first; int v=p.second.second; if(join(u, v)) ans+=p.first, use.push_back({u, v}); } cout << ans << " " << ans << nl; for(auto e:use) cout << e.first << " " << e.second << nl; }
#Verdict Execution timeMemoryGrader output
Fetching results...