Submission
Status:
[PPPPPP-SSS]
Score: 0
User: MiyaZaki1072
Problemset: รัฐบาล
Language: cpp
Time: 0.055 second
Submitted On: 2025-04-28 19:09:45
#pragma GCC optimization ("03")
#pragma GCC optimization ("unroll-loops")
#include <bits/stdc++.h>
using namespace std;
int p[200],n,m;
struct A{
int u,v,w;
bool operator<(const A&o)const{
return w<o.w;
}
}e[10100];
int fr(int u){
if(p[u]==u)return u;
return p[u] = fr(p[u]);
}
int MST(int dont){
for(int i=1;i<=n;i++)p[i]=i;
int ret=0,cnt=0;
for(int i=1;i<=m;i++){
if(i==dont)continue;
int ru = fr(e[i].u),rv = fr(e[i].v);
if(ru!=rv){
p[ru]=rv;
ret+=e[i].w;
cnt++;
}
}
if(cnt==n-1)return ret;
}
int main(){
cin.tie(0)->sync_with_stdio(0);
cin>>n>>m;
for(int i=1;i<=m;i++){
int u,v,w;cin>>u>>v>>w;
e[i] ={u,v,w};
}
sort(e+1,e+m+1);
int mst = MST(0);
int ans=2e9;
for(int i=1;i<=m;i++){
int rn = MST(i);
if(rn > mst)ans = min(ans,rn);
}
cout<<mst<<" "<<ans<<"\n";
}