小慕正在处理一个由若干整数组成的数组nums,他可以在数组内的任意位置进行分割,将该数组分割成两个(即左数组和右数组),分别对子数组求和得到两个值,并计算这两个值的差值。小慕想要知道,在所有可能的分割方案中,差值的最大值是多少。
提示:带虚线的词点一下有通俗解释。
输入描述
<p> 第一行输入数组中元素个数n,1 < n <= 100000 </p> <p> 第二行输入数字序列,以空格进行分隔,数字取值为4字节整数 </p>
输出描述
输出差值的最大取值
示例
示例 1
输入
6 1 -2 3 4 -9 7
输出
10
说明:将数组nums 划分为两个非空数组的可行方案有: 左数组 = [1] 且 右数组 = [-2, 3, 4, -9, 7],和的差值 = |1 - 3|=2 左数组 = [1, -2] 且 右数组 = [3, 4, -9, 7],和的差值 = |-1 - 5|=6 左数组 = [1, -2, 3, 1] 且 右数组 = [4, -9, 7],和的差值 = |2 - 2|=0 左数组 = [1, -2, 3, 4] 且 右数组 = [-9, 7],和的差值 = |6 - (-2)| = 8 左数组 = [1, -2, 3, 4, -9] 且 右数组 = [7],和的差值 = |-3 - 7| = 10 最大的差值为10
时间限制 1000 ms · 内存限制 128 MB