1458 - 古墓棋盘之谜

小蓝在探索一座千年古墓时,发现了一个神秘的石门机关。石门表面刻有 n 个黑白石符(0 表示黑符,1 表示白符),只有通过删除两端的石符,保留恰好 m 个白符才能开启机关。每次只能从最左或最右删除石符,请帮助小蓝计算最少需要操作多少次。

输入

第一行两个整数 n(棋盘长度)和 m(目标白符数) 第二行 n 个用空格分隔的 0/1,表示棋盘序列

输出

最少操作次数,若无法实现输出 -1

样例

输入

8 2
0 1 1 1 0 0 0 1

输出

3

输入

10 3
0 0 1 1 1 0 0 1 1 0

输出

5

提示

样例1解释

处理过程:
收集白棋位置:索引1、2、3、7
滑动窗口检查:
窗口[1,2]:删除左边1个,右边5个 → 6次
窗口[2,3]:删除左边2个,右边4个 → 6次
窗口[3,7]:删除左边3个,右边0个 → 3次(最优解)

蓝桥杯2025年3月初赛题目改编

时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题