Home => ProblemSet => 2.10-30:分发糖果
Problem1587--2.10-30:分发糖果

1587: 2.10-30:分发糖果

Time Limit: 1 Sec  Memory Limit: 128 MB  Submit: 0  Solved: 2
[ Submit ] [ Status ] [ Creator: ][ 参考程序 ]

Description

n 个孩子站成一排。每个孩子都有一个评分。

你需要按照以下要求,给这些孩子分发糖果:
1,每个孩子至少分配到 1 个糖果。
2,相邻两个孩子评分更高的孩子会获得更多的糖果。
请你给每个孩子分发糖果,计算并返回需要准备的 最少糖果数目

Input

第一行一个整数n,表示有n个孩子
接下来一行n个数表示每个孩子的评分,空格隔开

Output

一行一个整数,表示分发给孩子们最少的糖果数

Sample Input Copy

3
1 0 2

Sample Output Copy

5

HINT

样例一解释:
你可以分别给第一个、第二个、第三个孩子分发 2、1、2 颗糖果。

样例二:
输入:
3
1 2 2
输出:
4
样例二解释:
你可以分别给第一个、第二个、第三个孩子分发 1、2、1 颗糖果。
     第三个孩子只得到 1 颗糖果,这满足题面中的两个条件。

样例三:
输入:


5
1 3 2 2 1
输出:
7
1 <= n <= 2 * 104 0 <= 每个孩子评分 <= 2 * 104

Source/Category