Submission #70324904


Source Code Expand

"""
<方針>
- 辞書(`defaultdict`)を用いて、個数を管理する。
"""
# ライブラリ
from collections import defaultdict

# 入力
N, K = map(int, input().split())
S = input()

# 辞書で管理
di = defaultdict(int)

# 辞書に登録
for i in range(N-K+1):
  di[S[i:i+K]] += 1

# 個数の小ささで並び替えて、辞書順でも並べる
ls_sorted = sorted([(ke, va) for ke, va in di.items()], key=(lambda x: (-x[1], x[0])))

# 最大値を取得
ma = ls_sorted[0][1]
print(ma)

# 上から順番に取り出す
for ke, va in ls_sorted:
  # 個数が最大値と一緒なら、
  if(va == ma):
    # 文字を出力する。
    print(ke)

Submission Info

Submission Time
Task B - Most Frequent Substrings
User mattsunkun
Language Python (PyPy 3.10-v7.3.12)
Score 200
Code Size 693 Byte
Status AC
Exec Time 72 ms
Memory 77044 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 22
Set Name Test Cases
Sample 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt
All 00-sample-01.txt, 00-sample-02.txt, 00-sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt
Case Name Status Exec Time Memory
00-sample-01.txt AC 69 ms 76708 KiB
00-sample-02.txt AC 70 ms 76600 KiB
00-sample-03.txt AC 70 ms 76828 KiB
01-01.txt AC 70 ms 77028 KiB
01-02.txt AC 71 ms 77044 KiB
01-03.txt AC 70 ms 76816 KiB
01-04.txt AC 70 ms 76704 KiB
01-05.txt AC 70 ms 76704 KiB
01-06.txt AC 70 ms 76816 KiB
01-07.txt AC 70 ms 76600 KiB
01-08.txt AC 70 ms 76788 KiB
01-09.txt AC 71 ms 76748 KiB
01-10.txt AC 72 ms 77008 KiB
01-11.txt AC 71 ms 76796 KiB
01-12.txt AC 71 ms 76836 KiB
01-13.txt AC 72 ms 76768 KiB
01-14.txt AC 70 ms 77020 KiB
01-15.txt AC 71 ms 76796 KiB
01-16.txt AC 70 ms 76904 KiB
01-17.txt AC 70 ms 76712 KiB
01-18.txt AC 70 ms 76704 KiB
01-19.txt AC 70 ms 76832 KiB