#P50905. 「eJOI2018」山

「eJOI2018」山

题目描述

本题译自 eJOI2018 Problem A. Hills

Innopolis 城里有 nn 座山,第 ii 座的高度为 aia_i
美观起见,当一座山比它两边的山(如果存在)严格地高时,才能在这座山上建房子。
有一台挖掘机,每小时可以将任意一座山的高度降低 11,同一时间挖掘机只能在一座山上工作。山的高度可以被降为 00 或负数。
请求出当 1kn21 \le k \le \lceil \frac{n}{2} \rceil 时,建造 kk 座房子(即至少使得 kk 座山满足上面的要求)时,挖掘机至少需要工作几小时。

输入格式

第一行,11 个整数 n (1n5000)n\ (1 \le n \le 5000)
第二行,nn 个整数 a1,a2,a3,ana_1, a_2, a_3, \cdots a_n,表示数列 {ai}\{a_i\} ,其中 1ai1051 \le a_i \le 10^5

输出格式

一行,n2\lceil \frac{n}{2} \rceil 个整数,第 ii 个整数表示 k=ik=i 时的答案。

样例 1

5
1 1 1 1 1
1 2 2

将山 22 的高度降低 11,山的高度变为 1,0,1,1,11, 0, 1, 1, 1,此时山 11 满足条件。 再将山 44 的高度降低 11,山的高度变为 1,0,1,0,11, 0, 1, 0, 1,此时山 1,3,51, 3, 5 满足条件。

3
1 2 3
0 2
5
1 2 3 2 2
0 1 3

数据范围与提示

数据限制

子任务编号 分数 限制
11 00 样例
22 77 n=3,ai100n = 3, a_i \le 100
33 1515 n10,ai100n \le 10, a_i \le 100
44 1313 n100,ai100n \le 100, a_i \le 100
55 1818 n100,ai2000n \le 100, a_i \le 2000
66 2222 n500n \le 500
77 2525 无特殊限制