#srqc0002. 环上最大子段和
环上最大子段和
题目描述
给定一个环状数组,数组中的每个位置上有一个整数(可以为正、负或零)。在这个环状数组中,你可以选择连续的一段数字(可以是空段,此时和为 0),求这段数字和的最大可能值。
序列长度 ,序列中的元素的绝对值不超过 。
输入格式
第一行一个正整数 ,表示数组的长度。
第二行 个整数,依次表示环上每个位置的数字。
输出格式
一行一个整数,表示最大子段和(空段的和为 )。
5
2 -4 1 3 -2
4
样例1说明:
(可以选取子段 ,和为 ;或者选取跨环的子段 ,和也为 ,不够最优。实际上不跨环的最大子段和为 ,跨环的最大子段和为总和减去最小子段和:总和 ,最小子段和 ,,最大为 )
3
-1 -2 -3
0
说明/提示
- 对于 的数据,。
- 对于 的数据,。
- 对于 的数据,,序列中数字的绝对值不超过 。
题目改编自《深入浅出-进阶篇》例 15-6。