結果
| 問題 | No.658 テトラナッチ数列 Hard |
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2025-12-08 15:46:46 |
| 言語 | PyPy3 (7.3.17) |
| 結果 |
AC
|
| 実行時間 | 1,506 ms / 2,000 ms |
| + 899µs | |
| コード長 | 727 bytes |
| 記録 | |
| コンパイル時間 | 255 ms |
| コンパイル使用メモリ | 96,108 KB |
| 実行使用メモリ | 86,784 KB |
| 最終ジャッジ日時 | 2026-07-19 07:06:21 |
| 合計ジャッジ時間 | 12,487 ms |
|
ジャッジサーバーID (参考情報) |
judge1_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 8 |
ソースコード
import sys
def input(): return sys.stdin.readline().rstrip('\n')
def solve(k):
if k <= 3:
return 0
st = (0, 0, 0, 1)
a = {st: 4}
for i in range(5, k + 1):
p, q, r, s = st
p, q, r, s = q, r, s, (p + q + r + s) % 17
if (p, q, r, s) in a:
md = i - a[(p, q, r, s)]
to_go = (k - i) % md
for _ in range(to_go):
p, q, r, s = q, r, s, (p + q + r + s) % 17
st = (p, q, r, s)
break
st = (p, q, r, s)
return st[-1]
def main():
q = int(input())
for _ in range(q):
print(solve(int(input())))
if __name__ == '__main__':
ret = main()
if ret is not None:
print(ret)