一个整数组成的序列a[1],a[2],a[3], …, a[n] ,你可以对数组中的一对元素进行交换,并且交换后求 a[1] 至 a[n] 的最大子段和,所能得到的结果是所有交换中最大的。当所给的整数均为负数时和为 0 。
例如:{ −2,11,−4,13,−5,−2,4} 将 −4 和 4 交换,{ −2,11,4,13,−5,−2,−4} ,最大子段和为 11+4+13=28 。
第 1 行:整数序列的长度 N ( 2≤N≤50000)
第 2∼N+1 行: N 个整数( −10^9≤A[i]≤10^9 )
输出交换一次后的最大子段和。
7 -2 11 -4 13 -5 -2 4
28
时间限制 | 1 秒 |
内存限制 | 128 MB |