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

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

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

2019-11-11 06:07:39
字體:
來源:轉載
供稿:網友
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;}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桂林市| 津南区| 金秀| 沈丘县| 奎屯市| 红河县| 大新县| 富阳市| 甘泉县| 健康| 西城区| 彰武县| 塘沽区| 泊头市| 黄骅市| 林州市| 德令哈市| 长宁县| 拜泉县| 尼玛县| 铜陵市| 曲水县| 正宁县| 保德县| 清河县| 峨山| 河北区| 稷山县| 荥经县| 烟台市| 犍为县| 英德市| 桑植县| 衡阳县| 黄山市| 双桥区| 界首市| 庆元县| 德令哈市| 固阳县| 迁西县|