Problem1013--线段覆盖

1013: 线段覆盖

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 80  Solved: 17
[Status] [Submit] [Creator:]

Description

问题描述
如果一个点在一条线段上(包括这个点是线段端点的情况),我们说“这条线段覆盖了
这个点”。
现有 n 个在一条水平直线上排列的点,请你编写程序计算一下:如果用 3 条线段覆盖所
有的点,这 3 条线段的长度之和最小是多少?
注意:既然说是 3 条,当然就不允许某两条是首尾相接的,否则就是 2 条了,而且,任
何线段的长度都要大于 0。

Input

输入文件 cover.in,第一行为整数n (6 ≤ n ≤ 100 ),表示点的数量。第二行
有n −1个整数,表示其它各点到最左端的点的距离,单位是厘米。已知这些整数
都不会超过 40000。

Output

输出文件 cover.out,文件中只有一个整数,表示用 3 条线段覆盖所有点时,它
们长度之和的最小值,单位是厘米。

Sample Input Copy

6
1 4 10 15 17

Sample Output Copy

9

Source/Category