結果

問題 No.789 範囲の合計
ユーザー pasoconhoshii
提出日時 2019-02-11 22:04:40
言語 Python3
(3.7.1 + numpy 1.14.5 + scipy 1.1.0)
結果
RE   .
実行時間 -
コード長 699 Byte
コンパイル時間 45 ms
使用メモリ 31,164 KB
最終ジャッジ日時 2019-08-09 20:49:16

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
input00.txt RE -
input01.txt AC 22 ms
6,872 KB
input02.txt RE -
input03.txt RE -
input04.txt TLE -
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
pairdic = defaultdict(int)

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

        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