Moloco 是一家广告技术公司,致力于帮助全球各类企业优化在线广告投放。通过 Moloco 的技术,互联网用户能够看到更相关的广告,广告主也能更有效地进行广告投放。
Jongseo 预测某位用户将访问一个网页总共 $2N$ 次,并希望向该用户展示两种广告(0 号广告和 1 号广告),每种各展示 $N$ 次。如果每次访问时都展示同一种广告,用户可能会产生审美疲劳,从而降低广告效果。因此,他希望通过合理安排这两种广告的顺序来最大化广告效果。
为了量化广告效果,Moloco 的工程师 Jongseo 定义了一个名为“无聊度”的指标。对于 $i \leq j$,从第 $i$ 个到第 $j$ 个广告组成的区间无聊度定义为该区间内 0 号广告数量与 1 号广告数量之差的绝对值。用户最终感受到的无聊度是所有区间无聊度中的最大值。
例如,当广告按 00110110 的顺序排列时,第 $3$ 个到第 $7$ 个广告的无聊度为 $|1 - 4| = 3$。由于该区间的无聊度最大,因此用户最终感受到的无聊度也为 $3$。
虽然通过 Moloco 出色的算法已经找到了提高用户参与度的有效广告排列,但 Jongseo 为了验证“无聊度”这一指标的有效性,试图降低无聊度。然而,由于广告的初始顺序已经确定,为了降低无聊度,他必须通过交换相邻的两个广告来调整顺序,每次交换的成本为 $1$。交换操作可以执行任意多次。
请问将用户最终感受到的无聊度降低到 $K$ 及以下所需的最小成本是多少?
输入
第一行包含两个空格分隔的整数 $N$ 和 $K$。($1 \le K \le N \le 500\,000$)
第二行给出一个长度为 $2N$ 的字符串,由 $N$ 个 0 和 $N$ 个 1 组成,表示初始的广告排列。
输出
输出将无聊度降低到 $K$ 及以下所需的最小成本。
如果给定广告顺序的无聊度已经不超过 $K$,则输出 0。
可以证明,对于所有可能的输入,总能将无聊度降低到 $1$。也就是说,答案总是存在的。
样例
输入 1
4 2 00110110
输出 1
1
输入 2
4 2 11110000
输出 2
3
输入 3
4 1 10011001
输出 3
2