結果

問題 No.3265 地元に帰れば天才扱い!
ユーザー DeltaStruct
提出日時 2025-08-08 23:16:16
言語 PyPy3
(7.3.15)
結果
RE  
実行時間 -
コード長 612 bytes
コンパイル時間 796 ms
コンパイル使用メモリ 82,288 KB
実行使用メモリ 67,656 KB
最終ジャッジ日時 2025-09-06 12:31:34
合計ジャッジ時間 5,508 ms
ジャッジサーバーID
(参考情報)
judge1 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 4
other RE * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

n = int(input())
A = list(map(int,input().split()))
segtree0 = [0]*(2*n)
segtree1 = segtree0

for i in range(n):
  segtree1[n+i] = A[i]

i = n-1
while i:
  segtree1[i] = segtree1[i<<1]+segtree1[i<<1|1]
  i -= 1

q = int(input())
res = 0
for k in range(q):
  x,y,l,r = map(int,input().split())
  i = (n+x-1)<<1
  y -= segtree1[i>>1]
  while i:
    res += segtree0[i]*y
    segtree1[i] += y
    i>>=1
  l += n-1
  r += n
  while l < r:
    if l&1:
      segtree0[l] += 1
      res += segtree1[l]
      l += 1
    if r&1:
      r -= 1
      segtree0[r] += 1
      res += segtree1[r]
    l>>=1
    r>>=1
  print(res)
0