Submission #1823315


Source Code Expand

#include<cstdio>
#include<algorithm>
#define N_ 201000
using namespace std;
int n, m, K, UF[N_], C[N_], R[N_], RC;
long long Res;
int Find(int a) {
	return a == UF[a] ? a : UF[a] = Find(UF[a]);
}
struct Edge {
	int a, b, c;
	bool operator<(const Edge &p)const {
		return c < p.c;
	}
}E[N_];
int main() {
	scanf("%d%d%d", &n, &m, &K);
	int i, c = K, a, b, d;
	for (i = 1; i <= n; i++) {
		scanf("%d", &C[i]);
		if (!C[i])C[i] = ++c;
	}
	for (i = 1; i <= c; i++)UF[i] = i;
	for (i = 0; i < m; i++) {
		scanf("%d%d%d", &E[i].a, &E[i].b, &E[i].c);
	}
	sort(E, E + m);
	for (i = 0; i < m; i++) {
		a = Find(C[E[i].a]), b = Find(C[E[i].b]);
		if (a != b) {
			R[RC++] = E[i].c;
			UF[a] = b;
		}
	}
	if (RC < K - 1) {
		printf("-1\n");
		return 0;
	}
	sort(R, R + RC);
	for (i = 0; i < K - 1; i++)Res += R[i];
	printf("%lld\n", Res);
}

Submission Info

Submission Time
Task A - Colorful MST
User ainta
Language C++14 (GCC 5.4.1)
Score 700
Code Size 870 Byte
Status AC
Exec Time 46 ms
Memory 3968 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:17:29: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d%d", &n, &m, &K);
                             ^
./Main.cpp:20:21: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d", &C[i]);
                     ^
./Main.cpp:25:45: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d%d%d", &E[i].a, &E[i].b, &E[i].c);
                                             ^

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3 Subtask4
Score / Max Score 0 / 0 100 / 100 100 / 100 200 / 200 300 / 300
Status
AC × 4
AC × 7
AC × 12
AC × 7
AC × 28
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 00_example_04.txt
Subtask1 00_example_03.txt, s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt
Subtask2 s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt, s2_07.txt, s2_08.txt, s2_09.txt, s2_10.txt, s2_11.txt, s2_12.txt
Subtask3 00_example_02.txt, s3_13.txt, s3_14.txt, s3_15.txt, s3_16.txt, s3_17.txt, s3_18.txt
Subtask4 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 00_example_04.txt, s1_01.txt, s1_02.txt, s1_03.txt, s1_04.txt, s1_05.txt, s1_06.txt, s2_07.txt, s2_08.txt, s2_09.txt, s2_10.txt, s2_11.txt, s2_12.txt, s3_13.txt, s3_14.txt, s3_15.txt, s3_16.txt, s3_17.txt, s3_18.txt, s4_19.txt, s4_20.txt, s4_21.txt, s4_22.txt, s4_23.txt, s4_24.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 1 ms 2176 KB
00_example_02.txt AC 1 ms 2176 KB
00_example_03.txt AC 1 ms 2176 KB
00_example_04.txt AC 1 ms 2176 KB
s1_01.txt AC 1 ms 2176 KB
s1_02.txt AC 44 ms 3584 KB
s1_03.txt AC 1 ms 2176 KB
s1_04.txt AC 1 ms 2176 KB
s1_05.txt AC 22 ms 2944 KB
s1_06.txt AC 44 ms 3584 KB
s2_07.txt AC 7 ms 2304 KB
s2_08.txt AC 45 ms 3584 KB
s2_09.txt AC 33 ms 3200 KB
s2_10.txt AC 30 ms 3200 KB
s2_11.txt AC 42 ms 3328 KB
s2_12.txt AC 41 ms 3328 KB
s3_13.txt AC 6 ms 2304 KB
s3_14.txt AC 42 ms 3968 KB
s3_15.txt AC 36 ms 3328 KB
s3_16.txt AC 33 ms 3328 KB
s3_17.txt AC 44 ms 3968 KB
s3_18.txt AC 44 ms 3712 KB
s4_19.txt AC 7 ms 2304 KB
s4_20.txt AC 45 ms 3456 KB
s4_21.txt AC 35 ms 3200 KB
s4_22.txt AC 34 ms 3200 KB
s4_23.txt AC 46 ms 3712 KB
s4_24.txt AC 46 ms 3456 KB