国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

51nod1050 循環數組最大子段和 dp

2019-11-11 06:43:47
字體:
來源:轉載
供稿:網友
N個整數組成的循環序列a[1],a[2],a[3],…,a[n],求該序列如a[i]+a[i+1]+…+a[j]的連續的子段和的最大值(循環序列是指n個數圍成一個圈,因此需要考慮a[n-1],a[n],a[1],a[2]這樣的序列)。當所給的整數均為負數時和為0。例如:-2,11,-4,13,-5,-2,和最大的子段為:11,-4,13。和為20。Input
第1行:整數序列的長度N(2 <= N <= 50000)第2 - N+1行:N個整數 (-10^9 <= S[i] <= 10^9)Output
輸出循環數組的最大子段和。Input示例
6-211-413-5-2Output示例

20

#include<cstdio>#include<iostream>using namespace std;int main(){	int n,t;	long long maxx=0,s=0,sum=0,s1=0,max1=0;	scanf("%d",&n);	for(int i=1;i<=n;i++){		scanf("%d",&t);		sum+=t;		if(s+t>0){			s+=t;			maxx=max(maxx,s);		}		else s=0;		if(s1-t>0){			s1-=t;			max1=max(max1,s1);		}		else s1=0;	}	maxx=max(maxx,sum+max1);	PRintf("%lld/n",maxx);	return 0;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 新沂市| 阳朔县| 治县。| 五常市| 鸡东县| 长子县| 大田县| 开化县| 延边| 大连市| 富源县| 乡宁县| 名山县| 天津市| 南靖县| 济宁市| 雷山县| 古蔺县| 葵青区| 克什克腾旗| 东乌| 浦东新区| 平凉市| 海淀区| 陆丰市| 都安| 贺兰县| 南通市| 龙胜| 奉化市| 莱州市| 昭苏县| 建湖县| 内黄县| 罗定市| 金山区| 祁阳县| 介休市| 沙湾县| 甘谷县| 怀宁县|