結果
問題 | No.789 範囲の合計 |
ユーザー | prd_xxx |
提出日時 | 2019-02-08 22:25:07 |
言語 | PyPy3 (7.3.15) |
結果 |
MLE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 648 bytes |
コンパイル時間 | 197 ms |
コンパイル使用メモリ | 82,232 KB |
実行使用メモリ | 147,888 KB |
最終ジャッジ日時 | 2024-07-01 11:37:24 |
合計ジャッジ時間 | 4,597 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 8 MLE * 7 |
ソースコード
N = int(input()) Q = [tuple(map(int,input().split())) for i in range(N)] xs = set() for a,b,c in Q: if a == 0: xs.add(b) else: xs.add(b) xs.add(c) order = {x:i for i,x in enumerate(sorted(xs))} L = len(xs) bit = [0] * (L+1) def bit_add(a,w): x = a while x <= L: bit[x] += w x += (x & -x) def bit_sum(a): x = a ret = 0 while x > 0: ret += bit[x] x -= (x & -x) return ret ans = 0 for a,b,c in Q: if a == 0: x = order[b] bit_add(x+1,c) else: l = order[b] r = order[c] ans += bit_sum(r+1) - bit_sum(l) print(ans)