题目描述
给定一个长度为n的整数序列,要求从中选出两个连续子序列,使得这两个连续子序列的序列和之和最大,最终只需输出最大和。一个连续子序列的和为该子序列中所有数之和。每个连续子序列的最小长度为1,并且两个连续子序列之间至少间隔一个数。
输入输出格式
输入格式:
第一行是一个整数表示n。
第二行是n个整数表示整数序列。
输出格式:
一个数,两个连续子序列的序列和之和。
输入输出样例
输入样例#1:
5
83 223 -13 1331 -935
输出样例#1:
1637
输入样例#2:
3
83 223 -13
输出样例#2:
70
说明
对于30%的数据N<=100。
对于60%的数据有N<=10000。
对于100%的数据有N<=1000000。
数据保证运算过程不会超过long long(int64)。
———————————————————————————————————————
解题思路
首先根据Luogu《P1115 最大子段和》可以知道我们可以求出一直到第i为的当前连续子串和和当前连续子串的最大和,只不过对于这道题我们必须记录每一个点之前(或之后)当前连续子串的最大长度。
我们分别把从左到右的以