问题 5424 --塔

5424: 塔★★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 26  解决: 9
[提交][状态][命题人:]

题目描述

有n(1<=n<=5000)座塔排在一条直线上,从左到右每个塔的高度分别为hi(1<=hi<=100000).
每次操作你可以选择一座塔(假设是第i座),用吊车把它吊起来,然后放到与它相邻的一座塔上(可以是第i-1座也可以是第i+1座),这样,新塔的高度为两座塔的和,完成操作后,塔的总数减少一座。
问最少需要多少次操作可以使得所有的塔从左到右形成一个非递减序列。

输入

第一行为n(1<=n<=5000),表示塔的数量。下一行为用空格分隔的n个数hi(1<=hi<=100000),表示塔的高度。

输出

仅有一个整数,表示最少操作次数。
样例输入
Copy
5
8 2 7 3 1
样例输出
Copy
3

提示

样例2
输入:
3
5 2 1
输出:
2

来源

 

[提交][状态]