結果

問題 No.789 範囲の合計
ユーザー pasoconhoshii
提出日時 2019-02-11 22:12:38
言語 Python3
(3.7.1 + numpy 1.14.5 + scipy 1.1.0)
結果
TLE  
実行時間 -
コード長 832 Byte
コンパイル時間 50 ms
使用メモリ 31,424 KB
最終ジャッジ日時 2019-04-11 21:24:20

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
input00.txt AC 26 ms
6,868 KB
input01.txt AC 25 ms
6,872 KB
input02.txt TLE -
input03.txt -- -
input04.txt -- -
input05.txt -- -
input06.txt -- -
input07.txt -- -
input08.txt -- -
input09.txt -- -
input10.txt -- -
input11.txt -- -
input12.txt -- -
input13.txt -- -
input14.txt -- -
テストケース一括ダウンロード

ソースコード

diff #
    #!/mnt/c/Users/moiki/bash/env/bin/python
N = int(input())

Q = [ list(map(int, input().split())) for _ in range(N)]

from collections import defaultdict
from bisect import bisect_left, bisect_right, insort_left, insort_right
pairdic = defaultdict(int)

inf = float("inf")
ans = 0
idx_cnt = [(inf,inf)]
for q,x,y in Q:
    if q == 0:
        pairdic[x] += y

        insort_left( idx_cnt, (x,y))
        # idx_cnt.insert( bisect_left(
        # idx_cnt = [ (idx, pairdic[idx]) for idx in pairdic.keys()]
        # idx_cnt = sorted(idx_cnt)

    if q == 1:
        l,r = x,y
        lidx = bisect_left(  idx_cnt, (l,0))
        ridx = bisect_right(  idx_cnt, (r,inf))
        #print(idx_cnt)
        #print(lidx, ridx)
        ans += sum( list(map(lambda x: x[1], idx_cnt))[lidx:ridx], 0)
        # print("ans: ", ans)

print(ans)
0