1458 - 古墓棋盘之谜
时间限制 : 1 秒
内存限制 : 128 MB
小蓝在探索一座千年古墓时,发现了一个神秘的石门机关。石门表面刻有 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月初赛题目改编