题目描述
题目描述
一个漆黑的暴风雨之夜,农夫约翰的牛栏屋顶和栏门被吹坏了。幸运的是,许多奶牛正在外面度假,牛栏并没有住满。
这些牛栏宽度相同,首尾相邻地排成一行,编号为 到 。有些牛栏里有奶牛,有些是空的。
约翰需要尽快用木板挡住所有住着奶牛的牛栏。木板的长度可以任意选择,但供应商最多只能提供 块木板。一块木板可以连续挡住若干个相邻的牛栏,也可以经过空牛栏。
已知最多能购买的木板数 、牛栏总数 、有奶牛的牛栏数 ,以及这 个牛栏的编号。请在挡住所有有奶牛的牛栏的前提下,求需要挡住的牛栏总数的最小值,也就是以一个牛栏宽度为单位的木板最小总长度。
输入格式
第一行三个整数 ,用空格分隔。
接下来 行,每行一个整数,表示一个有奶牛的牛栏编号。
输出格式
输出一个整数,表示至少需要挡住的牛栏总数。
样例输入 1
4 50 18
3
4
6
8
14
15
16
17
21
25
26
27
30
31
40
41
42
43
样例输出 1
25
样例输入 2
1 1 1
1
样例输出 2
1
样例输入 3
42 4 1
1
样例输出 3
1
说明/提示
样例 1 的一种最优方案是:四块木板分别挡住编号 、、、 的牛栏,总长度为 。
数据范围
数据范围:,,,每个牛栏编号均在 到 之间。