公式
B - 花壇の整備 / Flower Bed Maintenance 解説
by
B - 花壇の整備 / Flower Bed Maintenance 解説
by
sounansya
求める列は、ランレングス圧縮した際に同じ要素が \(K\) 個以上ある場所のみを取り出した列と一致します。したがって、与えられた列をランレングス圧縮し、長さが \(K\) 未満の列を削除する操作を行うことで答えを求めることができます。
from itertools import groupby
n, k = map(int, input().split())
s = list(map(int, input().split()))
t = groupby(s)
ans = []
for x, y in t:
le = len(list(y))
if le >= k:
ans += [x] * le
print(*ans)
投稿日時:
最終更新:
