问题 2876 --最大子序列和

2876: 最大子序列和★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 1381  解决: 585
[提交][状态][命题人:]

题目描述

给定一个整数序列nums(元素个数<=100),找到一个具有最大和的连续子序列(子序列最少包含一个元素),返回其最大和。

#include <iostream>
#include <iomanip>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{	
	int n,nums[110];//nums数组存放整型序列
	int maxSum[110];//maxSum[i]存放nums[i]为最后一个数的最大连续子序列和
	n=0;
	while(_____(1)______) n++;
	int result=nums[0];
	maxSum[0]=nums[0];
	for(int i=1;i<n;i++)
	{
		if(maxSum[i-1]>0) 
			_____(2)________;
		else
			maxSum[i]=nums[i];
		if(______(3)_______) result=maxSum[i];
	}
	cout<<result<<endl;
    return 0;
}

输入

一个整数序列,每个数的绝对值都小于1000000

输出

连续子序列的最大和。

样例输入
Copy
-2  1  -3  4  -1  2  1  -5  4
样例输出
Copy
6

提示

来源

[提交][状态]