結果

問題 No.469 区間加算と一致検索の問題
ユーザー zimphazimpha
提出日時 2017-12-09 14:41:43
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 631 ms / 5,000 ms
コード長 356 bytes
コンパイル時間 671 ms
コンパイル使用メモリ 81,840 KB
実行使用メモリ 112,448 KB
最終ジャッジ日時 2024-12-21 17:10:26
合計ジャッジ時間 17,454 ms
ジャッジサーバーID
(参考情報)
judge5 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 49
権限があれば一括ダウンロードができます

ソースコード

diff #

import random as rnd

rnd.seed(2333)
n, q = list(map(int, input().split()))
seed = [rnd.randint(0, 2 ** 60) for i in range(n)] + [0]
now = 0
mem = {0 : 0}
for i in range(q):
  c = input()
  if c[0] == '?':
    print(mem[now])
  else:
    _, l, r, k = c.split()
    now += int(k) * (seed[int(l)] - seed[int(r)])
    if not now in mem:
      mem[now] = i + 1
0