結果
問題 |
No.2905 Nabeatsu Integration
|
ユーザー |
![]() |
提出日時 | 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()