結果
問題 |
No.1054 Union add query
|
ユーザー |
|
提出日時 | 2025-10-14 02:58:18 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 584 bytes |
コンパイル時間 | 281 ms |
コンパイル使用メモリ | 82,640 KB |
実行使用メモリ | 147,928 KB |
最終ジャッジ日時 | 2025-10-14 02:58:28 |
合計ジャッジ時間 | 8,061 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 WA * 1 |
other | AC * 6 WA * 2 |
ソースコード
def aa(m): c=[] while m!=uf[m]: c.append(m) m=uf[m] for i in c: uf[i]=m return m n,q=map(int,input().split()) s=[] for i in range(n+1): c=[i] s.append(c) uf=[i for i in range(n+1)] x=[0]*(n+1) v=[0]*(n+1) for i in range(q): t,a,b=map(int,input().split()) if t==1: a,b=aa(a),aa(b) if len(s[a])<len(s[b]): for j in s[a]: v[j]-=x[b]-x[a] s[b]+=s[a];uf[a]=b s[a]=[] else: for j in s[b]: v[j]-=x[a]-x[b] s[a]+=s[b];uf[b]=a s[b]=[] elif t==2: x[aa(a)]+=b else: print(v[a]+x[aa(a)])