結果
問題 |
No.3164 [Chery 7th Tune B] La vie en rose
|
ユーザー |
![]() |
提出日時 | 2025-05-30 21:31:31 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 1,081 ms / 2,000 ms |
コード長 | 642 bytes |
コンパイル時間 | 478 ms |
コンパイル使用メモリ | 82,176 KB |
実行使用メモリ | 130,456 KB |
最終ジャッジ日時 | 2025-05-30 21:32:08 |
合計ジャッジ時間 | 30,135 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 34 |
ソースコード
n=int(input()) a=list(map(int,input().split())) r=list(range(n)) v=a[:] def union(x,y): rx=root(x) ry=root(y) if rx==ry: return if rx>ry: rx,ry=ry,rx r[ry]=rx v[rx]+=v[ry] v[ry]=0 return def root(x): p=x l=[p] while r[p]!=p: p=r[p] l+=[p] for p in l: r[p]=l[-1] return r[x] for i in range(n-1): if a[i]!=0 and a[i+1]!=0: union(i,i+1) Q=int(input()) for _ in range(Q): x,b=map(int,input().split()) x-=1 rx=root(x) if a[x]==0: g=b if x+1<n and a[x+1]!=0: g+=v[root(x+1)] if x-1>=0 and a[x-1]!=0: g+=v[root(x-1)] print(g) else: print(v[rx]-a[x]+b)