atcoder#ABC161E. [ABC161E] Yutori

[ABC161E] Yutori

题目描述

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

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

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

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

输入格式

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

N N K K C C S S

输出格式

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

题目大意

高桥打算在NN天中工作KK天。给定一个串SS

①如果SiS_i是'x',那么在第ii天高桥不工作;

②如果高桥在某一天工作了,那么接下来他就会休息CC天。

请问,高桥在哪些天他不得不工作以达到在NN天中恰好工作KK天的要求? 详见输出格式。

11 3 2
ooxxxoxxxoo
6
5 2 3
ooxoo
1
5
5 1 0
ooooo

16 4 3
ooxxoxoxxxoxoxxo
11
16

提示

制約

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

Sample Explanation 1

高橋君は 11 11 日間のうち 3 3 日働こうとしています。ある日働いたらその後 2 2 日間は働きません。 働く日としてありえる組み合わせは「1,6,10 1,6,10 日目」「1,6,11 1,6,11 日目」「2,6,10 2,6,10 日目」「2,6,11 2,6,11 日目」の 4 4 通りです。 したがって、6 6 日目に必ず働きます。

Sample Explanation 2

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

Sample Explanation 3

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