#604. NOI

NOI

【题目描述】

有一个字符串 S,长度为 N。字符串中仅可能包含 NOI 三种字符。

现在,小明要把该字符串变成这样一个形式:前 K 个字符全是 N,中间 K 个字符全是 O,最后 K 个字符全是 I

有以下几种操作方式:

  • 1、删除字符串的第一个字符
  • 2、删除字符串的最后一个字符
  • 3、删除字符串中间(既非第一个也非最后一个)的一个字符

小明可以操作任意次,每次他可以任意选择操作方式。但是对于第 3 种操作方式,小明觉得比较麻烦,所以他希望尽可能少地使用第 3 种操作方式。

问:为了达成目的,小明最少需要使用多少次第 3 种操作方式?如果无论如何也达不成目的,则输出 -1

【输入格式】

第一行:两个正整数 N, K;

第二行:一个字符串 S,仅可能包含 NOI 三种字符。

【输出格式】

一个整数,表示答案。

【输入样例 1】

6 1
NNOOII

【输出样例 1】

1

【输入样例 2】

6 2
NNOOII

【输出样例 2】

0

【输入样例 3】

6 2
IIOONN

【输出样例 3】

-1

【数据范围】

10% 的数据:N ≤ 30

30% 的数据:N ≤ 3000

70% 的数据:N ≤ 10610^6

100% 的数据:3 ≤ N ≤ 10710^7, 1 ≤ K ≤ N/3