QOJ.ac

QOJ

実行時間制限: 3 s メモリ制限: 256 MB 満点: 100 ハック可能 ✓

#17535. ロシアン回転寿司

統計

ジヌは世界最高のギャンブラーであり、美食家である。ジヌは、お気に入りのアイドルグループの社長であるドヒョンが「ロシアン回転寿司」という飲食店を新たに開業したというニュースを聞き、すぐさま駆けつけた。

ロシアン回転寿司の看板メニューは、当然のことながら「ロシアン回転寿司」である。このメニューを注文すると、$N$個の寿司とともにチャレンジが与えられる。チャレンジに成功した挑戦者は、代金を支払う必要がない。チャレンジの目標は、一度も表情を変えることなく$K$個の寿司を食べることである。このチャレンジが難しい理由は、いくつかの寿司に辛いワサビがたっぷり入っているからである!

チャレンジは次のように進行する。まずドヒョンは、円形のコンベアベルトの上に一定の間隔で$N$個の寿司を配置する。ドヒョンは挑戦者の目の前で、いくつかの寿司にワサビを入れ、その位置を知らせる。ワサビ入りの寿司を含め、すべての寿司は見た目が同じであり、区別することはできない。

次に挑戦者は目隠しをし、ドヒョンはコンベアベルトをランダムに回転させる。挑戦者が再び目を開けると、コンベアベルトが時計回りに回り始める。これ以降、挑戦者は自分の前に寿司が来るたびに、即座にその寿司を食べなければならない。つまり、挑戦者は目を開けた瞬間に目の前にある寿司から順に、反時計回りに連続した寿司を食べることになる。

ドヒョンはより多くの人に機会を与えるため、「寿司スキップクーポン」を販売している。挑戦者は目隠しをする前に、クーポンを好きなだけ購入できる。挑戦者がクーポンを使用すると、目の前にある寿司を一つ食べずにスキップできる。このようにスキップされた寿司はコンベアベルトから取り除かれ、ドヒョンが確認してワサビが入っていたかどうかを教えてくれる。

挑戦者がワサビ入りの寿司を食べて表情を変えてしまったり、寿司をスキップしすぎて$K$個の寿司を食べられなかったりすると、チャレンジは失敗となる。

ジヌはロシアン回転寿司チャレンジに挑戦しようとしている。あいにくジヌは辛い食べ物が苦手なため、ワサビ入りの寿司は避けなければならない。ジヌは世界最高のギャンブラーであり美食家であるという名声を失いたくないため、どのような状況であってもチャレンジに失敗することがないよう、十分な量のクーポンを購入しようとしている。

ジヌが目隠しをする前に確認したワサビ入りの寿司の位置が与えられる。ジヌが最善の戦略でチャレンジに挑む場合、必ずチャレンジに成功するためには最低何枚のクーポンを購入する必要があるだろうか?

入力

最初の行に、寿司の個数 $N$ とチャレンジで食べなければならない寿司の個数 $K$ が空白を挟んで与えられる。$(1 \le K \le N \le 200\,000)$

2行目に、文字 OX で構成された長さ $N$ の文字列が与えられる。$i$番目の文字は、ジヌが目隠しをする前に反時計回りに$i$番目の位置に置かれた寿司がワサビ入りかどうかを表す。O はワサビ入り、X はワサビが入っていない寿司を表す。

出力

ジヌが必ずチャレンジに成功するために購入すべきクーポンの最小枚数を出力する。もし何枚クーポンを購入してもチャレンジに失敗する可能性がある場合は、代わりに -1 を出力する。

入出力例

入力 1

6 2
OXXOXX

出力 1

3

入力 2

5 1
XXOXX

出力 2

-1

入力 3

4 4
XXXX

出力 3

0

入力 4

8 2
OXXOXXOX

出力 4

5

入力 5

8 1
XOXXOOXO

出力 5

6

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.