#P4865. Kindergarten

    ID: 2503 传统题 2000ms 256MiB 尝试: 0 已通过: 0 难度: (无) 上传者: 标签>动态规划基础算法贪心CodeForces

Kindergarten

Kindergarten

题面翻译

有一组数,你要把他分成若干连续段。每一段的值,定义为这一段 数中最大值与最小值的差。 求一种分法,使得这若干段的值的和最大。 N < 1e6, a[i] < 1e9。

题目描述

In a kindergarten, the children are being divided into groups. The teacher put the children in a line and associated each child with his or her integer charisma value. Each child should go to exactly one group. Each group should be a nonempty segment of consecutive children of a line. A group's sociability is the maximum difference of charisma of two children in the group (in particular, if the group consists of one child, its sociability equals a zero).

The teacher wants to divide the children into some number of groups in such way that the total sociability of the groups is maximum. Help him find this value.

输入格式

The first line contains integer nn — the number of children in the line (1n1061\le n\le 10^6).

The second line contains nn integers aia_i — the charisma of the ii-th child (109ai109-10^9\le a_i\le 10^9).

输出格式

Print the maximum possible total sociability of all groups.

样例 #1

样例输入 #1

5
1 2 3 1 2

样例输出 #1

3

样例 #2

样例输入 #2

3
3 3 3

样例输出 #2

0

提示

In the first test sample one of the possible variants of an division is following: the first three children form a group with sociability 2, and the two remaining children form a group with sociability 1.

In the second test sample any division leads to the same result, the sociability will be equal to 0 in each group.