Submission #53129885


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
#define int long long int

#ifndef ONLINE_JUDGE
#define debug(x) cerr << #x << " "; _print(x); cerr << endl;
#else
#define debug(x)
#endif

template<class T> void _print(T &a){cerr << a;}
template<class T> void _print(vector<T> &a){cerr << "[ ";for(T i:a) cerr << i << " ";cerr << "]";}
template<class T> void _print(set<T> &a){cerr << "[ ";for(T i:a) cerr << i << " ";cerr << "]";}
template<class T,class V> void _print(map<T,V> &m){cerr << "[ ";for(auto &it:m) cerr << it.first << "--> " << it.second << ", ";cerr << "]";}
template<class T> void _print(multiset<T> &a){cerr << "[ ";for(T i:a) cerr << i << " ";cerr << "]";}
template<class T> void _print(vector<vector<T>> &fin){cerr << endl; for(auto i:fin){for(auto p:i) cerr << p << " "; cerr << endl;}}

class DSU{
	public:
		vector<int> parent, rank;
		DSU(int n){
			parent.resize(n+1);
			rank.resize(n+1,0);
			for(int i=0;i<=n;i++) parent[i] = i;
		}
		int findParent(int node){
			if(parent[node] == node) return node;
			return parent[node] = findParent(parent[node]);
		}
		bool unionByRank(int u,int v){
			int pu = findParent(u);
			int pv = findParent(v);
			if(pu == pv) return false;
			else if(rank[pu] > rank[pv]) parent[pv] = pu;
			else if(rank[pv] > rank[pu]) parent[pu] = pv;
			else{
				++rank[pu];
				parent[pv] = pu;
			}
			return true;
		}
};

void solve(){
	int n, m; cin >> n >> m;
	map<int,vector<int>> mp;
	while(m--){
		int k, c; cin >> k >> c;
		for(int i=0;i<k;i++){
			int x; cin >> x;
			mp[c].push_back(x);
		}
	}
	// select n nodes and n-1 edges.
	int ans = 0;
	DSU ds(n);
	for(auto &it:mp){
		for(int i=1;i<(int)it.second.size();i++){
			if(ds.unionByRank(it.second[0],it.second[i])) ans += it.first;
		}
	}
	int comp = 0;
	for(int i=1;i<=n;i++){
		if(ds.findParent(i) == i) ++comp;
	}
	if(comp != 1) cout << -1;
	else cout << ans;
}

signed main(){
	ios::sync_with_stdio(false);
  	cin.tie(0);
	#ifndef ONLINE_JUDGE
	freopen("error.txt","w",stderr);
	#endif
	
	int t = 1;
	while(t--)
		solve();
	return 0;
}

Submission Info

Submission Time
Task E - Clique Connect
User the_aviral
Language C++ 20 (gcc 12.2)
Score 0
Code Size 2126 Byte
Status WA
Exec Time 182 ms
Memory 28068 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 450
Status
AC × 3
AC × 19
WA × 33
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 02_random2_00.txt, 02_random2_01.txt, 02_random2_02.txt, 02_random2_03.txt, 02_random2_04.txt, 02_random2_05.txt, 02_random2_06.txt, 02_random2_07.txt, 02_random2_08.txt, 02_random2_09.txt, 02_random2_10.txt, 02_random2_11.txt, 02_random2_12.txt, 02_random2_13.txt, 02_random2_14.txt, 02_random2_15.txt, 02_random2_16.txt, 02_random2_17.txt, 02_random2_18.txt, 02_random2_19.txt, 02_random2_20.txt, 02_random2_21.txt, 02_random2_22.txt, 02_random2_23.txt, 02_random2_24.txt, 02_random2_25.txt, 02_random2_26.txt, 02_random2_27.txt, 02_random2_28.txt, 02_random2_29.txt, 02_random2_30.txt, 02_random2_31.txt, 02_random2_32.txt, 02_random2_33.txt, 02_random2_34.txt, 02_random2_35.txt, 02_random2_36.txt, 02_random2_37.txt, 02_random2_38.txt, 02_random2_39.txt, 03_handmade_00.txt, 03_handmade_01.txt, 03_handmade_02.txt, 03_handmade_03.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3404 KiB
00_sample_01.txt AC 1 ms 3492 KiB
00_sample_02.txt AC 1 ms 3404 KiB
01_random_00.txt AC 70 ms 14136 KiB
01_random_01.txt AC 93 ms 17760 KiB
01_random_02.txt AC 115 ms 21252 KiB
01_random_03.txt AC 140 ms 24564 KiB
01_random_04.txt AC 182 ms 28060 KiB
02_random2_00.txt AC 27 ms 9336 KiB
02_random2_01.txt WA 28 ms 9596 KiB
02_random2_02.txt WA 32 ms 11376 KiB
02_random2_03.txt WA 47 ms 11700 KiB
02_random2_04.txt WA 50 ms 12016 KiB
02_random2_05.txt AC 29 ms 9268 KiB
02_random2_06.txt WA 30 ms 9544 KiB
02_random2_07.txt WA 37 ms 10160 KiB
02_random2_08.txt WA 62 ms 12536 KiB
02_random2_09.txt WA 66 ms 13552 KiB
02_random2_10.txt AC 32 ms 9324 KiB
02_random2_11.txt WA 34 ms 9796 KiB
02_random2_12.txt WA 43 ms 11156 KiB
02_random2_13.txt WA 73 ms 13592 KiB
02_random2_14.txt WA 83 ms 14920 KiB
02_random2_15.txt AC 34 ms 9264 KiB
02_random2_16.txt WA 36 ms 9492 KiB
02_random2_17.txt WA 47 ms 11804 KiB
02_random2_18.txt WA 85 ms 14564 KiB
02_random2_19.txt WA 96 ms 16240 KiB
02_random2_20.txt AC 36 ms 9256 KiB
02_random2_21.txt WA 38 ms 9612 KiB
02_random2_22.txt WA 50 ms 11952 KiB
02_random2_23.txt WA 97 ms 15704 KiB
02_random2_24.txt WA 111 ms 17508 KiB
02_random2_25.txt AC 38 ms 9336 KiB
02_random2_26.txt WA 39 ms 9352 KiB
02_random2_27.txt WA 54 ms 11488 KiB
02_random2_28.txt WA 112 ms 16448 KiB
02_random2_29.txt WA 120 ms 19148 KiB
02_random2_30.txt AC 39 ms 9332 KiB
02_random2_31.txt WA 41 ms 9420 KiB
02_random2_32.txt WA 56 ms 10236 KiB
02_random2_33.txt WA 126 ms 17712 KiB
02_random2_34.txt WA 133 ms 20196 KiB
02_random2_35.txt AC 41 ms 9268 KiB
02_random2_36.txt WA 44 ms 9536 KiB
02_random2_37.txt WA 60 ms 10488 KiB
02_random2_38.txt WA 127 ms 18352 KiB
02_random2_39.txt WA 137 ms 21252 KiB
03_handmade_00.txt AC 1 ms 3404 KiB
03_handmade_01.txt AC 13 ms 7712 KiB
03_handmade_02.txt AC 12 ms 7704 KiB
03_handmade_03.txt WA 160 ms 28068 KiB