描述
老师想给孩子们分发糖果。有 $ 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 )$,表示每个孩子的评分,相邻整数之间用空格隔开。
输出
输出一个整数,表示最少需要的糖果总数。
样例
- 复制
- 复制
提示
### 样例说明
三个孩子的评分分别为 `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 $

关注我们