标签:
连续和最大 |
难度级别:B; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
试题描述
|
给定一个整数序列a1、a2…an,求这个序列中的一个连续子序列,使得这个序列中的数的和最大。
|
输入
|
第一行,一个整数n。
第二行,n个整数,a1、a2...an。 |
输出
|
一行,一个整数,表示你所求的最大的和。
|
输入示例
|
8
3 -6 -8 4 7 -5 5 2 |
输出示例
|
13
|
其他说明
|
数据范围:N<=500000,序列中所有数的绝对值均不超过1000。
|
#include<iostream> using namespace std; int n,a,maxn,t,s; int main() { scanf("%d",&n); for(int i=0;i<n;i++) { scanf("%d",&a); s+=a; if(s>t) t=s; if(t>maxn) maxn=t; if(s<=0) {s=0;t=0;} } printf("%d",maxn); }
标签:
原文地址:http://www.cnblogs.com/xiaoshenWXY/p/5044851.html