题目描述
给定一个由若干整数组成的数组nums
,可以在数组内的任意位置进行分割,将该数组分割成两个非空子数组(即左数组和右数组),分别对子数组求和得到两个值,计算这两个值的差值,请输出所有分割方案中,差值最大的值。
输入描述
第一行输入数组中元素个数n
,1 < n <= 100000
第二行输入数字序列,以空格进行分隔,数字取值为4
字节整数
输出描述
输出差值的最大取值
示例
输入
6
1 -2 3 4 -9 7
输出
10
n = int(input())
nums = list(map(int, input().split()))
right_sum = sum(nums)
left_sum = 0
ans = 0
for num in nums[:-1]:
left_sum += num
right_sum -= num
ans = max(ans, abs(left_sum-right_sum))
print(ans)