首页 > 其他 > 详细

最大字段和 51nod 1049 水水水水水水水水水水水水

时间:2017-09-09 20:11:13      阅读:214      评论:0      收藏:0      [点我收藏+]
N个整数组成的序列a[1],a[2],a[3],…,a[n],求该序列如a[i]+a[i+1]+…+a[j]的连续子段和的最大值。当所给的整数均为负数时和为0。
 
例如:-2,11,-4,13,-5,-2,和最大的子段为:11,-4,13。和为20。
Input
第1行:整数序列的长度N(2 <= N <= 50000)
第2 - N + 1行:N个整数(-10^9 <= A[i] <= 10^9)
Output
输出最大子段和。
Input示例
6
-2
11
-4
13
-5
-2
Output示例
20

水题 ,不懂问我,只限女生。
技术分享
 1 #include <iostream>
 2 using namespace std;
 3 #include<string.h>
 4 #include<set>
 5 #include<stdio.h>
 6 #include<math.h>
 7 #include<queue>
 8 #include<map>
 9 #include<algorithm>
10 #include<cstdio>
11 #include<cmath>
12 #include<cstring>
13 #include <cstdio>
14 #include <cstdlib>
15 #include<stack>
16 #include<vector>
17 int a[51000];
18 int main()
19 {
20     int n;
21     cin>>n;
22     for(int i=0;i<n;i++)
23         scanf("%d",&a[i]);
24     long long  sum=0;
25     long long  max1=0;
26     for(int i=0;i<n;i++)
27     {
28         sum+=a[i];
29         if(sum<0)
30             sum=0;
31         max1=max(sum,max1);
32     }
33     cout<<max1<<endl;
34     return 0;
35 }
View Code

 

最大字段和 51nod 1049 水水水水水水水水水水水水

原文:http://www.cnblogs.com/dulute/p/7499105.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!