結果

問題 No.3265 地元に帰れば天才扱い!
ユーザー DeltaStruct
提出日時 2025-08-08 23:14:43
言語 Python3
(3.13.1 + numpy 2.2.1 + scipy 1.14.1)
結果
RE  
実行時間 -
コード長 605 bytes
コンパイル時間 901 ms
コンパイル使用メモリ 12,032 KB
実行使用メモリ 11,520 KB
最終ジャッジ日時 2025-09-06 12:31:20
合計ジャッジ時間 4,966 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample RE * 4
other RE * 21
権限があれば一括ダウンロードができます

ソースコード

diff #

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

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 = x+n-1
  y -= segtree1[i]
  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