问题 5070 --扑克

5070: 扑克

题目描述

  小W手上有N堆扑克牌,为便于说明,给其编号为1..N,第i(1≤i≤N)堆有ai张扑克牌。
这天小W玩起了一个扑克牌的游戏,每次指定一个i和j(1≤i≤j≤N),表示从第i堆一直到第j堆,每堆移走一张扑克牌,前提是每堆至少有一张牌。
现在的问题是:用这样的方法将所有的扑克牌都移走,最少需要操作多少次?
比如有5堆牌,初始张数是:2 4 1 2 3
第1次5..5:2 4 1 2 2
第2次2..2:2 3 1 2 2
第3次1..5:1 2 0 1 1
第4次1..2:0 1 0 1 1
第5次4..5:0 1 0 0 0
第6次2..2:0 0 0 0 0

输入

第一行,一个单独的整数N。
接下来有N行,每行一个非负整数ai,表示第i堆牌的张数。

输出

一个单独的整数,表示移走所有的牌需要的最少操作次数。

样例输入输出

输入#1 复制
5
2
4
1
2
3
输出#1 复制
6

提示

25%的数据,N≤20。
55%的数据,N≤1500。
100%的数据,1 ≤ N ≤ 100000,0 ≤ ai ≤ 100000。

序号 标题 作者 发表时间 费用 订购数 操作