結果
問題 | No.1097 Remainder Operation |
ユーザー |
![]() |
提出日時 | 2020-06-26 22:05:42 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 436 ms / 2,000 ms |
コード長 | 712 bytes |
コンパイル時間 | 138 ms |
コンパイル使用メモリ | 82,256 KB |
実行使用メモリ | 170,316 KB |
最終ジャッジ日時 | 2024-07-04 21:16:02 |
合計ジャッジ時間 | 6,265 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 21 |
ソースコード
# coding: utf-8# Your code here!import sysread = sys.stdin.readreadline = sys.stdin.readlinen, = map(int,readline().split())*a, = map(int,readline().split())dist = [a[:]]nxt = [[(i+a[i])%n for i in range(n)]]#print(nxt)#print(dist)for _ in range(40):res = [dist[-1][nxt[-1][i]] + dist[-1][i] for i in range(n)]dist.append(res)res = [nxt[-1][nxt[-1][i]] for i in range(n)]nxt.append(res)#print(nxt[:2])#print(dist[:2])q,*k = map(int,read().split())for ki in k:d = 0x = 0i = 0for m in range(40,-1,-1):if i + (1<<m) <= ki:d += dist[m][x]x = nxt[m][x]i += 1<<mprint(d)