Submission #2901904
Source Code Expand
#include <bits/stdc++.h>
#define L long long
using namespace std;
L n,m,k,ans,cnt;
L c[100010];
vector<L>colors[100010];
L bu[100010],lev[100010];
L fin(L x){
return x==bu[x]?x:bu[x]=fin(bu[x]);
}
struct S{
L s,e,len;
}a[100010];
bool operator<(S a,S b){
return a.len<b.len;
}
void uni(L x,L y){
x=fin(x);
y=fin(y);
if(x==y) return;
if(lev[x]<lev[y]) swap(x,y);
bu[y]=x;
if(lev[x]==lev[y]) lev[x]++;
}
int main()
{
scanf("%lld %lld %lld",&n,&m,&k);
L i,j;
for(i=1;i<=n;i++)
{
scanf("%lld",&c[i]);
colors[c[i]].push_back(i);
bu[i]=i;
}
for(i=1;i<=k;i++)
{
for(j=1;j<colors[i].size();j++)
{
uni(colors[i][j],colors[i][j-1]);
//printf("%lld %lld\n",colors[i][j],colors[i][j-1]);
}
}
for(i=1;i<=m;i++)
{
scanf("%lld %lld %lld",&a[i].s,&a[i].e,&a[i].len);
}
sort(a+1,a+m+1);
for(i=1;i<=m;i++)
{
//if(c[a[i].s]&&c[a[i].e])
{
if(fin(a[i].s)!=fin(a[i].e))
{
cnt++;
ans+=a[i].len;
uni(a[i].s,a[i].e);
}
}
}
if(cnt<k-1) puts("-1");
//printf("%lld ",cnt);
else printf("%lld",ans);
}
Submission Info
Submission Time |
|
Task |
A - Colorful MST |
User |
gs16103 |
Language |
C++14 (GCC 5.4.1) |
Score |
200 |
Code Size |
1132 Byte |
Status |
WA |
Exec Time |
55 ms |
Memory |
10368 KB |
Compile Error
./Main.cpp: In function ‘int main()’:
./Main.cpp:37:34: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%lld %lld %lld",&n,&m,&k);
^
./Main.cpp:41:22: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%lld",&c[i]);
^
./Main.cpp:56:52: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%lld %lld %lld",&a[i].s,&a[i].e,&a[i].len);
^
Judge Result
Set Name |
Sample |
Subtask1 |
Subtask2 |
Subtask3 |
Subtask4 |
Score / Max Score |
0 / 0 |
100 / 100 |
100 / 100 |
0 / 200 |
0 / 300 |
Status |
|
|
|
|
|
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 |
2 ms |
4480 KB |
00_example_02.txt |
AC |
2 ms |
4480 KB |
00_example_03.txt |
AC |
2 ms |
4480 KB |
00_example_04.txt |
WA |
2 ms |
4480 KB |
s1_01.txt |
AC |
2 ms |
4480 KB |
s1_02.txt |
AC |
52 ms |
10368 KB |
s1_03.txt |
AC |
2 ms |
4480 KB |
s1_04.txt |
AC |
2 ms |
4480 KB |
s1_05.txt |
AC |
31 ms |
9344 KB |
s1_06.txt |
AC |
52 ms |
10368 KB |
s2_07.txt |
AC |
9 ms |
5248 KB |
s2_08.txt |
AC |
55 ms |
9344 KB |
s2_09.txt |
AC |
37 ms |
7680 KB |
s2_10.txt |
AC |
34 ms |
7296 KB |
s2_11.txt |
AC |
52 ms |
8704 KB |
s2_12.txt |
AC |
50 ms |
8704 KB |
s3_13.txt |
WA |
8 ms |
5116 KB |
s3_14.txt |
AC |
45 ms |
8180 KB |
s3_15.txt |
WA |
36 ms |
7416 KB |
s3_16.txt |
WA |
34 ms |
7288 KB |
s3_17.txt |
WA |
44 ms |
8180 KB |
s3_18.txt |
WA |
44 ms |
8180 KB |
s4_19.txt |
WA |
9 ms |
5120 KB |
s4_20.txt |
WA |
51 ms |
8700 KB |
s4_21.txt |
WA |
39 ms |
7680 KB |
s4_22.txt |
WA |
37 ms |
7552 KB |
s4_23.txt |
AC |
51 ms |
9084 KB |
s4_24.txt |
WA |
52 ms |
8700 KB |