Submission #1416748


Source Code Expand

#include "bits/stdc++.h"
using namespace std;
typedef long long ll;
#define int ll
typedef pair<int,int> pii;
#define rep(i,n) for(ll i=0;i<(ll)(n);i++)
#define all(a)  (a).begin(),(a).end()
#define pb emplace_back
#define INF (1LL<<59)

int k;

class UF{
private:
    vector<int> par,rank,elm;
    vector<vector<int>> elmList;	//don't be validated
public:
    int groups;
    
    UF(int __size):par(__size) , rank(__size,0) , elm(__size,1) , groups(__size), elmList(__size){
        rep(i,__size)elmList[i] = vector<int>(1,i);
        for(int i=0;i<__size;i++)par[i]=i;
    }
    
    int getElements(int n){ return elm[find(n)]; }
    vector<int> getElementsList(int n){ return elmList[find(n)]; }
    
    int find(int x){
        if(par[x]==x) {
            return x;
        }else{
            return par[x]=find(par[x]);
        }
    }
    
    void unite(int x,int y){
        x=find(x);
        y=find(y);
        if(x==y) return;
        
        groups--;
        if(rank[x]<rank[y]){
            par[x]=y;
            elm[y]+=elm[x];
            for(auto &e:elmList[x])elmList[y].pb(e);
            
        }else{
            par[y]=x;
            elm[x]+=elm[y];
            for(auto &e:elmList[y])elmList[x].pb(e);
            if(rank[x]==rank[y])rank[x]++;
        }
    }
    
    bool isSame(int x,int y){
        return find(x)==find(y);
    }
};

#define MAX_V 100
struct edge{int to,cost;};
int kruskal(int v, vector<edge> G[MAX_V], pii edg){
    int ret=0;
    vector<pair<int,pii>> edges;
    
    rep(i,MAX_V)for(auto &e:G[i])edges.pb(make_pair(e.cost,pii(i,e.to)));
    
    sort(all(edges));
    reverse(all(edges));
    
    UF uf(v);
    rep(i,edges.size()){
        if(uf.groups==k)return ret;
        int c,u,v;
        c = edges[i].first;
        tie(u,v) = edges[i].second;
        if( min(u,v)==edg.first && max(u,v)==edg.second )continue;
        
        if(!uf.isSame(u,v)){
            uf.unite(u,v);
            ret+=c;
        }
    }
    return ret;
}



signed main(){
    int v,e;
    cin>>v>>e>>k;
    
    vector<edge> G[MAX_V];
    vector<pii> edges;
    edges.pb(pii(-1,-1));
    
    int sum = 0;
    rep(i,e){
        int s,t,c;
        cin>>s>>t>>c;
        sum+=c;
        s--,t--;
        if(s>t)swap(s,t);
        edges.pb(pii(s,t));
        G[s].pb(edge{t,c});
        G[t].pb(edge{s,c});
    }
    
    int ans = INF;
    for(auto e:edges){
        ans = min(ans,sum-kruskal(v,G,e));
    }
    cout<<ans<<endl;
}

Submission Info

Submission Time
Task E - 独立記念日
User Yazaten
Language C++14 (GCC 5.4.1)
Score 30
Code Size 2580 Byte
Status WA
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name nonloop loop
Score / Max Score 30 / 30 0 / 70
Status
AC × 34
AC × 43
WA × 23
Set Name Test Cases
nonloop nonloop/case_000.txt, nonloop/case_001.txt, nonloop/case_002.txt, nonloop/case_003.txt, nonloop/case_004.txt, nonloop/case_005.txt, nonloop/case_006.txt, nonloop/case_007.txt, nonloop/case_008.txt, nonloop/case_009.txt, nonloop/case_010.txt, nonloop/case_011.txt, nonloop/case_012.txt, nonloop/case_013.txt, nonloop/case_014.txt, nonloop/case_015.txt, nonloop/case_016.txt, nonloop/case_017.txt, nonloop/case_018.txt, nonloop/case_019.txt, nonloop/case_020.txt, nonloop/case_021.txt, nonloop/case_022.txt, nonloop/case_023.txt, nonloop/case_024.txt, nonloop/case_025.txt, nonloop/case_026.txt, nonloop/case_027.txt, nonloop/case_028.txt, nonloop/case_029.txt, nonloop/case_030.txt, nonloop/case_031.txt, nonloop/case_032.txt, nonloop/case_033.txt
loop loop/case_000.txt, loop/case_001.txt, loop/case_002.txt, loop/case_003.txt, loop/case_004.txt, loop/case_005.txt, loop/case_006.txt, loop/case_007.txt, loop/case_008.txt, loop/case_009.txt, loop/case_010.txt, loop/case_011.txt, loop/case_012.txt, loop/case_013.txt, loop/case_014.txt, loop/case_015.txt, loop/case_016.txt, loop/case_017.txt, loop/case_018.txt, loop/case_019.txt, loop/case_020.txt, loop/case_021.txt, loop/case_022.txt, loop/case_023.txt, loop/case_024.txt, loop/case_025.txt, loop/case_026.txt, loop/case_027.txt, loop/case_028.txt, loop/case_029.txt, loop/case_030.txt, loop/case_031.txt, loop/case_032.txt, loop/case_033.txt, loop/loop_case_000.txt, loop/loop_case_001.txt, loop/loop_case_002.txt, loop/loop_case_003.txt, loop/loop_case_004.txt, loop/loop_case_005.txt, loop/loop_case_006.txt, loop/loop_case_007.txt, loop/loop_case_008.txt, loop/loop_case_009.txt, loop/loop_case_010.txt, loop/loop_case_011.txt, loop/loop_case_012.txt, loop/loop_case_013.txt, loop/loop_case_014.txt, loop/loop_case_015.txt, loop/loop_case_016.txt, loop/loop_case_017.txt, loop/loop_case_018.txt, loop/loop_case_019.txt, loop/loop_case_020.txt, loop/loop_case_021.txt, loop/loop_case_022.txt, loop/loop_case_023.txt, loop/loop_case_024.txt, loop/loop_case_025.txt, loop/loop_case_026.txt, loop/loop_case_027.txt, loop/loop_case_028.txt, loop/loop_case_029.txt, loop/loop_case_030.txt, loop/loop_case_031.txt
Case Name Status Exec Time Memory
loop/case_000.txt AC 1 ms 256 KB
loop/case_001.txt AC 1 ms 256 KB
loop/case_002.txt AC 2 ms 256 KB
loop/case_003.txt AC 1 ms 256 KB
loop/case_004.txt AC 1 ms 256 KB
loop/case_005.txt AC 1 ms 256 KB
loop/case_006.txt AC 1 ms 256 KB
loop/case_007.txt AC 1 ms 256 KB
loop/case_008.txt AC 1 ms 256 KB
loop/case_009.txt AC 1 ms 256 KB
loop/case_010.txt AC 1 ms 256 KB
loop/case_011.txt AC 1 ms 256 KB
loop/case_012.txt AC 1 ms 256 KB
loop/case_013.txt AC 1 ms 256 KB
loop/case_014.txt AC 2 ms 256 KB
loop/case_015.txt AC 1 ms 256 KB
loop/case_016.txt AC 2 ms 256 KB
loop/case_017.txt AC 2 ms 256 KB
loop/case_018.txt AC 2 ms 256 KB
loop/case_019.txt AC 1 ms 256 KB
loop/case_020.txt AC 2 ms 256 KB
loop/case_021.txt AC 1 ms 256 KB
loop/case_022.txt AC 1 ms 256 KB
loop/case_023.txt AC 2 ms 256 KB
loop/case_024.txt AC 1 ms 256 KB
loop/case_025.txt AC 2 ms 256 KB
loop/case_026.txt AC 2 ms 256 KB
loop/case_027.txt AC 2 ms 256 KB
loop/case_028.txt AC 1 ms 256 KB
loop/case_029.txt AC 1 ms 256 KB
loop/case_030.txt AC 2 ms 256 KB
loop/case_031.txt AC 2 ms 256 KB
loop/case_032.txt AC 2 ms 256 KB
loop/case_033.txt AC 2 ms 256 KB
loop/loop_case_000.txt AC 1 ms 256 KB
loop/loop_case_001.txt AC 1 ms 256 KB
loop/loop_case_002.txt AC 1 ms 256 KB
loop/loop_case_003.txt WA 1 ms 256 KB
loop/loop_case_004.txt AC 1 ms 256 KB
loop/loop_case_005.txt AC 1 ms 256 KB
loop/loop_case_006.txt WA 1 ms 256 KB
loop/loop_case_007.txt AC 1 ms 256 KB
loop/loop_case_008.txt WA 1 ms 256 KB
loop/loop_case_009.txt WA 1 ms 256 KB
loop/loop_case_010.txt AC 1 ms 256 KB
loop/loop_case_011.txt WA 1 ms 256 KB
loop/loop_case_012.txt WA 1 ms 256 KB
loop/loop_case_013.txt WA 2 ms 256 KB
loop/loop_case_014.txt WA 2 ms 256 KB
loop/loop_case_015.txt WA 2 ms 256 KB
loop/loop_case_016.txt WA 1 ms 256 KB
loop/loop_case_017.txt WA 2 ms 256 KB
loop/loop_case_018.txt WA 2 ms 256 KB
loop/loop_case_019.txt WA 1 ms 256 KB
loop/loop_case_020.txt AC 2 ms 256 KB
loop/loop_case_021.txt WA 2 ms 256 KB
loop/loop_case_022.txt WA 2 ms 256 KB
loop/loop_case_023.txt WA 2 ms 256 KB
loop/loop_case_024.txt WA 1 ms 256 KB
loop/loop_case_025.txt WA 2 ms 256 KB
loop/loop_case_026.txt WA 1 ms 256 KB
loop/loop_case_027.txt WA 2 ms 256 KB
loop/loop_case_028.txt WA 1 ms 256 KB
loop/loop_case_029.txt WA 2 ms 256 KB
loop/loop_case_030.txt AC 1 ms 256 KB
loop/loop_case_031.txt WA 2 ms 256 KB
nonloop/case_000.txt AC 1 ms 256 KB
nonloop/case_001.txt AC 1 ms 256 KB
nonloop/case_002.txt AC 1 ms 256 KB
nonloop/case_003.txt AC 1 ms 256 KB
nonloop/case_004.txt AC 1 ms 256 KB
nonloop/case_005.txt AC 1 ms 256 KB
nonloop/case_006.txt AC 1 ms 256 KB
nonloop/case_007.txt AC 1 ms 256 KB
nonloop/case_008.txt AC 1 ms 256 KB
nonloop/case_009.txt AC 1 ms 256 KB
nonloop/case_010.txt AC 1 ms 256 KB
nonloop/case_011.txt AC 1 ms 256 KB
nonloop/case_012.txt AC 1 ms 256 KB
nonloop/case_013.txt AC 1 ms 256 KB
nonloop/case_014.txt AC 2 ms 256 KB
nonloop/case_015.txt AC 1 ms 256 KB
nonloop/case_016.txt AC 2 ms 256 KB
nonloop/case_017.txt AC 2 ms 256 KB
nonloop/case_018.txt AC 2 ms 256 KB
nonloop/case_019.txt AC 1 ms 256 KB
nonloop/case_020.txt AC 2 ms 256 KB
nonloop/case_021.txt AC 1 ms 256 KB
nonloop/case_022.txt AC 1 ms 256 KB
nonloop/case_023.txt AC 2 ms 256 KB
nonloop/case_024.txt AC 1 ms 256 KB
nonloop/case_025.txt AC 2 ms 256 KB
nonloop/case_026.txt AC 2 ms 256 KB
nonloop/case_027.txt AC 2 ms 256 KB
nonloop/case_028.txt AC 1 ms 256 KB
nonloop/case_029.txt AC 1 ms 256 KB
nonloop/case_030.txt AC 2 ms 256 KB
nonloop/case_031.txt AC 2 ms 256 KB
nonloop/case_032.txt AC 2 ms 256 KB
nonloop/case_033.txt AC 2 ms 256 KB