QOJ.ac

QOJ

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

#17535. 俄羅斯迴轉壽司

統計

真宇是一位世界頂級的賭徒兼美食家。當他聽說他喜愛的偶像團體老闆道賢新開了一家名為「俄羅斯輪盤壽司」的餐廳時,便立刻趕了過去。

俄羅斯輪盤壽司的招牌菜當然就是「俄羅斯輪盤壽司」。點這道菜時,會附帶一個挑戰,挑戰成功的顧客可以免單。挑戰的目標是在不改變表情的情況下吃掉 $K$ 個壽司。這個挑戰之所以困難,是因為有些壽司裡塞滿了嗆辣的芥末!

挑戰進行方式如下:首先,道賢在圓形輸送帶上以固定間隔放置 $N$ 個壽司。道賢會在挑戰者面前於某些壽司中加入芥末,並讓挑戰者知道其位置。除了芥末壽司外,所有壽司外觀相同,無法區分。

接著,挑戰者會被蒙上眼睛,道賢隨機旋轉輸送帶。當挑戰者睜開眼睛時,輸送帶開始順時針旋轉。從這一刻起,每當有壽司出現在挑戰者面前,挑戰者就必須立即吃掉它。也就是說,挑戰者從睜開眼睛那一刻起,會依逆時針方向連續吃掉壽司

道賢為了給更多人機會,販售「壽司跳過券」。挑戰者可以在蒙眼之前購買任意數量的優惠券。當挑戰者使用優惠券時,可以跳過面前的一個壽司而不吃。被跳過的壽司會從輸送帶上移除,道賢會確認並告知該壽司是否含有芥末。

如果挑戰者吃到了芥末壽司而改變了表情,或者因為跳過太多壽司而無法吃滿 $K$ 個壽司,挑戰即告失敗。

真宇打算挑戰俄羅斯輪盤壽司。遺憾的是,真宇無法吃辣,因此必須避開芥末壽司。為了不失去世界頂級賭徒兼美食家的名聲,他打算購買足夠數量的優惠券,以確保在任何情況下都不會挑戰失敗

已知真宇在蒙眼前確認的芥末壽司位置。若真宇採取最佳策略進行挑戰,為了確保一定能挑戰成功,他最少需要購買多少張優惠券?

輸入

第一行包含兩個整數 $N$ 和 $K$,中間以空格分隔。$(1 \le K \le N \le 200\,000)$

第二行包含一個長度為 $N$ 的字串,由字元 OX 組成。第 $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.