2689 问题 H: 蓝桥杯2022年第十三届省赛真题-最优清零方案

时间限制: s 内存限制: MB 提交: 1325 解决: 157
题目描述

给定一个长度为 N 的数列 A1, A2, · · · , AN。现在小蓝想通过若干次操作将这个数列中每个数字清零。

每次操作小蓝可以选择以下两种之一:

1. 选择一个大于 0 的整数,将它减去 1;

2. 选择连续 K 个大于 0 的整数,将它们各减去 1。

小蓝最少经过几次操作可以将整个数列清零?

输入

输入第一行包含两个整数 N 和 K。

第二行包含 N 个整数 A1, A2, · · · , AN

输出

输出一个整数表示答案。

样例输入
4 2
1 2 3 4
样例输出
6
提示

对于 20% 的评测用例,1 ≤ K ≤ N ≤ 10。

对于 40% 的评测用例,1 ≤ K ≤ N ≤ 100。

对于 50% 的评测用例,1 ≤ K ≤ N ≤ 1000。

对于 60% 的评测用例,1 ≤ K ≤ N ≤ 10000。

对于 70% 的评测用例,1 ≤ K ≤ N ≤ 100000。

对于所有评测用例,1 ≤ K ≤ N ≤ 1000000, 0 ≤ Ai ≤ 1000000。 

比赛公告

第十三届蓝桥杯大赛软件赛省赛 Python 大学 B 组
C

纸张尺寸

D

数位排序

E

蜂巢

F

消除游戏

G

全排列的价值

H

技能升级

I

最长不下降子序列

J

最优清零方案

注意事项:

1. 对于编程题目,不能使用诸如绘图、硬件操作或与操作系统相关的 API。

2. 所有依赖的模块(如 math)必须明确地在源文件中 import。

3. 只能使用 python 自带的模块,使用 pip 等安装的扩展模块无法使用。

4. 提交时,注意选择使用Python语言。


比赛结束依旧可以训练,请见题集2022年第十三届蓝桥杯大赛软件类省赛Python大学B组真题