提出 #32057668


ソースコード 拡げる

import math
import bisect

ST = [[] for i in range(800005)]
pre = [[] for i in range(800005)]
val = [0 for i in range(200005)]
lst = [0 for i in range(200005)]

def update(id, l, r, tl, tr, val, time):
    if l > tr or r < tl:
        return
    if l >= tl and r <= tr:
        # print("ADD ", l, r)
        ST[id].append(time)
        if len(pre[id]) > 0:
            pre[id].append(pre[id][-1] + val)
        else:
            pre[id].append(val)
        return
    
    m = (l + r) // 2
    update(id * 2, l, m, tl, tr, val, time)
    update(id * 2 + 1, m + 1, r, tl, tr, val, time)

def query(id, l, r, x, time):
    
    res = 0
    if len(pre[id]) == 0 or ST[id][-1] <= time:
        res = 0
    elif (ST[id][0] >= time):
        res = pre[id][-1]
    else:
        res = pre[id][-1] - pre[id][bisect.bisect_left(ST[id], time, lo=0, hi=len(ST[id])) - 1]
    
    if l == r:
        return res
        
    m = (l + r) // 2
    if x <= m:
        return res + query(id * 2, l, m, x, time)
    else:
        return res + query(id * 2 + 1, m + 1, r, x, time)
    
inp = [int(x) for x in input().split()]
n, m, q = inp[0], inp[1], inp[2]

for time in range(1, q + 1):
    a = [int(x) for x in input().split()]
    if a[0] == 1:
        update(1, 1, m, a[1], a[2], a[3], time)
    elif a[0] == 2:
        val[a[1]] = a[2]
        lst[a[1]] = time
    else:
        print(val[a[1]] + query(1, 1, m, a[2], lst[a[1]]))

提出情報

提出日時
問題 F - Operations on a Matrix
ユーザ Mike4235
言語 PyPy2 (7.3.0)
得点 0
コード長 1470 Byte
結果 RE
実行時間 226 ms
メモリ 124908 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 0 / 500
結果
RE × 3
RE × 34
セット名 テストケース
Sample example_00.txt, example_01.txt, example_02.txt
All example_00.txt, example_01.txt, example_02.txt, test_00.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt
ケース名 結果 実行時間 メモリ
example_00.txt RE 226 ms 124712 KiB
example_01.txt RE 116 ms 124668 KiB
example_02.txt RE 115 ms 124328 KiB
test_00.txt RE 116 ms 124588 KiB
test_01.txt RE 120 ms 124800 KiB
test_02.txt RE 118 ms 124628 KiB
test_03.txt RE 116 ms 124776 KiB
test_04.txt RE 114 ms 124744 KiB
test_05.txt RE 121 ms 124800 KiB
test_06.txt RE 117 ms 124660 KiB
test_07.txt RE 114 ms 124684 KiB
test_08.txt RE 119 ms 124600 KiB
test_09.txt RE 118 ms 124580 KiB
test_10.txt RE 118 ms 124612 KiB
test_11.txt RE 117 ms 124540 KiB
test_12.txt RE 117 ms 124408 KiB
test_13.txt RE 118 ms 124528 KiB
test_14.txt RE 120 ms 124780 KiB
test_15.txt RE 117 ms 124800 KiB
test_16.txt RE 118 ms 124548 KiB
test_17.txt RE 117 ms 124600 KiB
test_18.txt RE 117 ms 124548 KiB
test_19.txt RE 117 ms 124688 KiB
test_20.txt RE 116 ms 124908 KiB
test_21.txt RE 118 ms 124524 KiB
test_22.txt RE 115 ms 124612 KiB
test_23.txt RE 115 ms 124608 KiB
test_24.txt RE 122 ms 124612 KiB
test_25.txt RE 116 ms 124868 KiB
test_26.txt RE 116 ms 124600 KiB
test_27.txt RE 118 ms 124748 KiB
test_28.txt RE 118 ms 124684 KiB
test_29.txt RE 117 ms 124804 KiB
test_30.txt RE 117 ms 124548 KiB