atcoder#ABC161E. [ABC161E] Yutori

[ABC161E] Yutori

配点 : 500500

問題文

高橋君は明日からの NN 日間のうち KK 日を選んで働くことにしました。

整数 CC と文字列 SS が与えられるので、次の 22 つの条件を満たすようにして働く日を選びます。

  • ある日働いたら、その直後の CC 日間は働かない
  • SSii 文字目が x のとき、今日から ii 日後には働かない

高橋君が必ず働く日をすべて求めてください。

制約

  • 1N2×1051 \leq N \leq 2 \times 10^5
  • 1KN1 \leq K \leq N
  • 0CN0 \leq C \leq N
  • SS の長さは NN
  • SS の各文字は ox
  • 問題文中の条件を満たすように働く日を選ぶことが可能

入力

入力は以下の形式で標準入力から与えられる。

NN KK CC

SS

出力

高橋君が必ず働く日を昇順に改行区切りですべて出力せよ。

11 3 2
ooxxxoxxxoo
6

高橋君は 1111 日間のうち 33 日働こうとしています。ある日働いたらその後 22 日間は働きません。

働く日としてありえる組み合わせは「1,6,101,6,10 日目」「1,6,111,6,11 日目」「2,6,102,6,10 日目」「2,6,112,6,11 日目」の 44 通りです。

したがって、66 日目に必ず働きます。

5 2 3
ooxoo
1
5

働く日としてありえる組み合わせは「1,51,5 日目」のみです。

5 1 0
ooooo

必ず働く日が存在しないこともあります。

16 4 3
ooxxoxoxxxoxoxxo
11
16