Submission #2441395
Source Code Expand
*N); long ans = 0; int cnt = 0; foreach (e; E) { if (uf.find(e[0]) == uf.find(e[1])) continue; uf.unite(e[0], e[1]); ans += e[2]; cnt += 1; if (cnt == K-1) { ans.writeln; return; } } writeln(-1); } class UnionFind { int N; int[] table; long[] cost; this(int n) { N = n; table = new int[](N); fill(table, -1); cost = new long[](N); } int find(int x) { return table[x] < 0 ? x : (table[x] = find(table[x])); } void unite(int x, int y) { x = find(x); y = find(y); if (x == y) return; if (table[x] > table[y]) swap(x, y); table[x] += table[y]; table[y] = x; cost[x] += cost[y]; } }
Submission Info
Submission Time | |
---|---|
Task | A - Colorful MST |
User | nebukuro09 |
Language | D (LDC 0.17.0) |
Score | 0 |
Code Size | 854 Byte |
Status | CE |
Compile Error
./Main.d(1): Error: declaration expected, not '*' ./Main.d(5): Error: declaration expected, not 'foreach' ./Main.d(5): Error: no identifier for declarator E ./Main.d(5): Error: declaration expected, not ')' ./Main.d(7): Error: function declaration without return type. (Note that constructors are always named 'this') ./Main.d(7): Error: no identifier for declarator uf.unite(e[0], e[1]) ./Main.d(8): Error: no identifier for declarator ans ./Main.d(8): Error: declaration expected, not '+=' ./Main.d(9): Error: no identifier for declarator cnt ./Main.d(9): Error: declaration expected, not '+=' ./Main.d(10): Error: declaration expected, not 'if' ./Main.d(12): Error: declaration expected, not 'return' ./Main.d(13): Error: unrecognized declaration