結果
| 問題 |
No.2905 Nabeatsu Integration
|
| コンテスト | |
| ユーザー |
amentorimaru
|
| 提出日時 | 2024-08-13 15:14:26 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 987 ms / 2,000 ms |
| コード長 | 878 bytes |
| コンパイル時間 | 220 ms |
| コンパイル使用メモリ | 12,800 KB |
| 実行使用メモリ | 50,972 KB |
| 最終ジャッジ日時 | 2024-09-07 11:34:27 |
| 合計ジャッジ時間 | 41,578 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 70 |
ソースコード
import sys
input = sys.stdin.readline
def read_values(): return tuple(map(int, input().split()))
def read_list(): return list(read_values())
def z_algorithm(S):
A = [0] * len(S)
A[0] = len(S)
i = 1
j = 0
while i < len(S):
while i + j < len(S) and S[j] == S[i + j]:
j += 1
A[i] = j
if j == 0:
i += 1
continue
k = 1
while i + k < len(S) and k + A[k] < j:
A[i + k] = A[k]
k += 1
i += k
j -= k
return A
def main():
s=input().strip()
n=len(s)
a=z_algorithm(s)
mod=998244353
ans = mod - n + 1
add = 10
for i in range(n-1,-1,-1):
if a[i] + i >= n:
ans += add
ans %= mod
add *= 10
add %= mod
print(ans)
if __name__ == "__main__":
main()
amentorimaru