結果
問題 | No.748 yuki国のお財布事情 |
ユーザー | torikumino |
提出日時 | 2018-10-28 16:46:40 |
言語 | Python3 (3.12.2 + numpy 1.26.4 + scipy 1.12.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 784 bytes |
コンパイル時間 | 89 ms |
コンパイル使用メモリ | 12,928 KB |
実行使用メモリ | 819,968 KB |
最終ジャッジ日時 | 2024-11-19 07:08:19 |
合計ジャッジ時間 | 22,107 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 26 ms
10,880 KB |
testcase_01 | AC | 26 ms
11,008 KB |
testcase_02 | AC | 26 ms
10,880 KB |
testcase_03 | AC | 26 ms
10,880 KB |
testcase_04 | AC | 26 ms
10,880 KB |
testcase_05 | AC | 26 ms
11,008 KB |
testcase_06 | AC | 26 ms
10,880 KB |
testcase_07 | AC | 27 ms
10,752 KB |
testcase_08 | AC | 27 ms
10,880 KB |
testcase_09 | AC | 29 ms
11,008 KB |
testcase_10 | AC | 27 ms
10,880 KB |
testcase_11 | AC | 25 ms
10,752 KB |
testcase_12 | AC | 26 ms
10,880 KB |
testcase_13 | AC | 211 ms
24,992 KB |
testcase_14 | TLE | - |
testcase_15 | AC | 355 ms
37,148 KB |
testcase_16 | TLE | - |
testcase_17 | MLE | - |
testcase_18 | MLE | - |
testcase_19 | MLE | - |
testcase_20 | MLE | - |
testcase_21 | MLE | - |
testcase_22 | AC | 68 ms
10,752 KB |
testcase_23 | AC | 29 ms
10,752 KB |
testcase_24 | AC | 29 ms
10,752 KB |
testcase_25 | AC | 1,008 ms
50,596 KB |
testcase_26 | MLE | - |
testcase_27 | MLE | - |
testcase_28 | MLE | - |
ソースコード
n,m,k=map(int,input().split()) g = [['-']*n for _ in range(n)] v=[] for _ in range(m): i,j,c=map(int,input().split()) g[i-1][j-1] = c g[j-1][i-1] = c v.append((c,i-1,j-1)) p = list(range(len(g))) s = [1]*len(g) def f(x): if x == p[x]: return x p[x] = f(p[x]) return p[x] def u(x, y): x = f(x) y = f(y) if s[x] > s[y]: x, y = y, x p[x] = p[y] s[x] += s[y] e = {(int(c),i,j) for i,r in enumerate(g) for j,c in enumerate(r) if c != '-'} pp =0 for _ in range(k): c,i,j=v[int(input())-1] e.remove((c,i,j)) e.remove((c,j,i)) e.add((0,i,j)) e.add((0,j,i)) pp += c e = sorted(e) r = 0 d = 0 for c,i,j in e: if f(i)==f(j): r += c continue u(i,j) d += c print((r-d)//2)