3752 - 牌堆抽取poker
描述

书架上有按编号 1~N 依次排列的 N 类卡片,第 i 类卡片有 A_i 张。每次操作时,你可以选择一段编号连续的区间 [l, r],并从其中的每一类里各抽走一张卡片;但要求该区间内的每一类卡片在本次操作前都至少还有一张。

请你求出把所有卡片全部抽光所需的最少操作次数。

输入
  • 第一行一个整数 N。

  • 接下来 N 行,每行一个整数 A_i,表示第 i 类卡片的张数。

输出

一行一个整数,表示抽光所有卡片的最少操作次数。

样例

输入

5
2
4
1
2
3

输出

6

输入

20
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000
100000

输出

100000
提示

本题使用标准输入输出(stdin/stdout),不需要写 freopen。

样例解释 1

开始时各类卡片数量为 2, 4, 1, 2, 3。一种最优的操作序列为:

  • 抽走区间 [1,2],得到 1,3,1,2,3;

  • 抽走区间 [2,2],得到 1,2,1,2,3;

  • 抽走区间 [2,5],得到 1,1,0,1,2;

  • 抽走区间 [1,2],得到 0,0,0,1,2;

  • 抽走区间 [4,5],得到 0,0,0,0,1;

  • 抽走区间 [5,5],得到 0,0,0,0,0。

共 6 次操作。

数据范围与约定

  • 对于约 40% 的数据,1 ≤ N ≤ 2000;

  • 对于约 20% 的数据,1 ≤ N ≤ 20000;

  • 对于 100% 的数据,1 ≤ N ≤ 100000。

  • 所有 A_i 满足 0 ≤ A_i ≤ 100000。

来源
CSP-J模拟赛7
标签
题目参数
时间限制 1 秒
内存限制 256 MB
提交次数 15
通过次数 9