14086 - 分发糖果

老师想给孩子们分发糖果。有 N 个孩子站成一条直线,老师会根据每个孩子的表现,预先给他们一个评分(整数)。现在需要按照以下规则给孩子们分配糖果:

  1. 每个孩子至少分配到 1 颗糖果。
  2. 相邻的两个孩子中,评分较高的孩子必须获得更多的糖果(即如果相邻两个孩子的评分不同,则评分高的孩子拿到的糖果数必须严格大于评分低的孩子)。

请你计算,在满足上述要求的前提下,老师至少需要准备多少颗糖果。

输入

  • 第一行包含一个整数 N ( 1 \le N \le 10^5 ),表示孩子的数量。
  • 第二行包含 N 个整数 S_1, S_2, \dots, S_N ( 0 \le S_i \le 10^3 ),表示每个孩子的评分,相邻整数之间用空格隔开。

输出

输出一个整数,表示最少需要的糖果总数。

样例

输入

3
1 0 2

输出

5

提示

样例说明

三个孩子的评分分别为 1, 0, 2。一种最优的分配方案是:

  • 第一个孩子(评分 1)分到 2 颗糖果;
  • 第二个孩子(评分 0)分到 1 颗糖果;
  • 第三个孩子(评分 2)分到 2 颗糖果。

总糖果数为 2 + 1 + 2 = 5 ,且满足所有相邻关系(1 > 0,2 > 0),因此最少需要 5 颗。

数据范围与约定

  • 1 \le N \le 10^5
  • 0 \le S_i \le 10^3
时间限制 1 秒
内存限制 128 MB
讨论 统计
上一题 下一题