結果
問題 |
No.2454 Former < Latter
|
ユーザー |
![]() |
提出日時 | 2023-09-04 23:37:10 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 669 bytes |
コンパイル時間 | 432 ms |
コンパイル使用メモリ | 82,432 KB |
実行使用メモリ | 79,080 KB |
最終ジャッジ日時 | 2024-06-22 20:51:48 |
合計ジャッジ時間 | 3,886 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 15 WA * 8 |
ソースコード
def z_algo(S): N = len(S) A = [0] * N i = 1; j = 0 A[0] = l = len(S) while i < l: while i + j < l and S[j] == S[i + j]: j += 1 if not j: i += 1 continue A[i] = j k = 1 while l - i > k < j - A[k]: A[i + k] = A[k] k += 1 i += k; j -= k return A T = int(input()) for _ in range(T): N = int(input()) S = input() A = z_algo(S) ans = 0 for i in range(1, N): j = A[i] if i < j: ans += 1 elif i + j < N: if S[j] < S[i + j]: ans += 1 print(ans)