CF747D Winter Is Coming

题目描述

伯兰德的冬季持续 $n$ 天。对于每一天,我们都知道当天的平均气温预报。 瓦西亚有一套新的冬季轮胎,这套轮胎最多只能在任意的平均气温下安全使用 $k$ 天。无论这些天的气温是多少,使用满 $k$ 天后,这套冬季轮胎就会磨损,无法继续使用。$k$ 天不要求必须连续。 在第一个冬季到来之前,瓦西亚仍在使用夏季轮胎。当平均气温为非负时,夏季轮胎可以安全行驶任意天数;当平均气温为负时,夏季轮胎不能安全行驶。 瓦西亚可以在任意一天的开始,将夏季轮胎更换为冬季轮胎,或者将冬季轮胎更换为夏季轮胎。 请你计算,瓦西亚为了整个冬季期间都能安全行驶,至少要更换多少次轮胎(包括从夏季换冬季和从冬季换夏季)。冬季结束时,车辆可以装备任意一套轮胎。

输入格式

第一行包含两个正整数 $n$ 和 $k$($1 \leq n \leq 2 \cdot 10^{5}$,$0 \leq k \leq n$),分别表示冬季天数和冬季轮胎能使用的最大天数。冬季轮胎可以在任意气温下使用,但总共不可超过 $k$ 天。 第二行包含 $n$ 个整数 $t_{1}, t_{2}, ..., t_{n}$($-20 \leq t_{i} \leq 20$),表示第 $i$ 天的平均气温。

输出格式

输出一个整数,表示瓦西亚为了整个冬季安全驾驶,至少需要轮胎更换的次数。如果无法实现,输出 -1。

说明/提示

在第一个样例中,瓦西亚应在第一个冬季到来前将夏季轮胎更换为冬季轮胎,使用三天后再更换回夏季轮胎,因为冬季轮胎只能使用三天。因此,轮胎更换的总次数为两次。 在第二个样例中,瓦西亚应在第一个冬季到来前将夏季轮胎更换为冬季轮胎,第一天后更换回夏季轮胎;第二天开始前再次换上冬季轮胎,第三天后换回夏季轮胎。因此,轮胎更换的总次数为四次。 由 ChatGPT 5 翻译