Submission #1834232
Source Code Expand
#include<cstdio> #include<cstring> #include<algorithm> #include<cmath> #include<ctime> #include<cstdlib> #define cmax(a,b) (a<(b)?a=(b),1:0) #define cmin(a,b) (a>(b)?a=(b),1:0) #define dmin(a,b) ((a)<(b)?(a):(b)) #define dmax(a,b) ((a)>(b)?(a):(b)) #define regsiter register #define CL fclose(stdin),fclose(stdout) namespace io { int F() { int n=0,F=1; char ch; while((ch=getchar())!='-'&&(ch<'0'||ch>'9')); ch=='-'?F=0:n=ch-'0'; while((ch=getchar())>='0'&&ch<='9')n=(n<<1)+(n<<3)+ch-'0'; return F?n:-n; } long long G() { long long n=0,F=1; char ch; while((ch=getchar())!='-'&&(ch<'0'||ch>'9')); ch=='-'?F=0:n=ch-'0'; while((ch=getchar())>='0'&&ch<='9')n=(n<<1)+(n<<3)+ch-'0'; return F?n:-n; } } int c[111111]; int vis[111111]; struct edg { int x,y,v; }ed[222222]; int pe; bool operator <(const edg &x,const edg &y) { return x.v<y.v; } int fa[111111]; int gf(int u) { if(fa[u]==u)return u; return fa[u]=gf(fa[u]); } int la[111111]; int main() { int n=io::F(),m=io::F(),k=io::F(); for(register int i=1;i<=n;++i)vis[c[i]=io::F()]=1,la[c[i]]=i; int cnt=0; for(register int i=1;i<=n;++i)if(c[i]==0)++cnt; int cv=0; for(register int i=1;i<=k;++i)if(vis[i]==0)++cv; if(cv>cnt) { puts("-1"); return 0; } int cc=cnt-cv; for(register int i=1;i<=m;++i) ed[i]=(edg){io::F(),io::F(),io::F()}; pe=m; for(register int i=1;i<=n;++i) if(c[i]&&la[c[i]]!=i)ed[++pe]=(edg){i,la[c[i]],0}; std::sort(ed+1,ed+pe+1); for(register int i=1;i<=n;++i)fa[i]=i; long long ans=0; for(register int i=1;cc!=n-1&&i<=pe;++i) { int t1=gf(ed[i].x),t2=gf(ed[i].y); if(t1==t2)continue; fa[t1]=t2; ans+=ed[i].v; ++cc; } if(cc!=n-1){puts("-1");return 0;} printf("%lld\n",ans); return 0; }
Submission Info
Submission Time | |
---|---|
Task | A - Colorful MST |
User | ESpace |
Language | C++14 (GCC 5.4.1) |
Score | 700 |
Code Size | 1812 Byte |
Status | AC |
Exec Time | 31 ms |
Memory | 4352 KB |
Judge Result
Set Name | Sample | Subtask1 | Subtask2 | Subtask3 | Subtask4 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 100 / 100 | 100 / 100 | 200 / 200 | 300 / 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 | 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 | 31 ms | 4352 KB |
s1_03.txt | AC | 1 ms | 2176 KB |
s1_04.txt | AC | 1 ms | 2176 KB |
s1_05.txt | AC | 15 ms | 3712 KB |
s1_06.txt | AC | 31 ms | 4352 KB |
s2_07.txt | AC | 2 ms | 2304 KB |
s2_08.txt | AC | 6 ms | 2816 KB |
s2_09.txt | AC | 24 ms | 3584 KB |
s2_10.txt | AC | 22 ms | 3584 KB |
s2_11.txt | AC | 31 ms | 4096 KB |
s2_12.txt | AC | 31 ms | 3968 KB |
s3_13.txt | AC | 4 ms | 2432 KB |
s3_14.txt | AC | 28 ms | 3968 KB |
s3_15.txt | AC | 21 ms | 3456 KB |
s3_16.txt | AC | 20 ms | 3328 KB |
s3_17.txt | AC | 28 ms | 3968 KB |
s3_18.txt | AC | 25 ms | 3968 KB |
s4_19.txt | AC | 5 ms | 2560 KB |
s4_20.txt | AC | 29 ms | 4096 KB |
s4_21.txt | AC | 23 ms | 3712 KB |
s4_22.txt | AC | 24 ms | 3584 KB |
s4_23.txt | AC | 5 ms | 2816 KB |
s4_24.txt | AC | 31 ms | 4096 KB |