結果
問題 |
No.1013 〇マス進む
|
ユーザー |
![]() |
提出日時 | 2023-10-18 00:43:53 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 196 ms / 2,000 ms |
コード長 | 469 bytes |
コンパイル時間 | 334 ms |
コンパイル使用メモリ | 82,124 KB |
実行使用メモリ | 117,620 KB |
最終ジャッジ日時 | 2024-09-17 21:45:47 |
合計ジャッジ時間 | 11,299 ms |
ジャッジサーバーID (参考情報) |
judge6 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 62 |
ソースコード
N, K = map(int, input().split()) P = list(map(int, input().split())) M = 35 dp = [[0] * N for _ in range(M)] for i in range(N): dp[0][i] = i + P[i] for n in range(1, M): for i in range(N): dp[n][i] = dp[n - 1][dp[n - 1][i] % N] + dp[n - 1][i] // N * N for i in range(N): now = i ans = i + 1 for j in range(M): if (K >> j) & 1: ans += dp[j][now % N] - now % N now = dp[j][now % N] print(ans)