51NOD 1049 最大子段和
来源:互联网 发布:网络直销是不是拉人的 编辑:程序博客网 时间:2024/06/05 19:45
Description
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 <cstdio>#include <cmath>#include <algorithm>using namespace std;long long M(long long a, long long b) {return a>b?a:b;}int main(){ long long n, x, sum = 0, summax = 0; scanf("%lld", &n); for(long long i=1; i<=n; i++) { scanf("%lld", &x); sum = M(sum, 0) + x; summax = M(sum, summax); } printf("%lld\n", summax); return 0;}
2
#include <cstdio>#include <cmath>#include <algorithm>using namespace std;int main(){ long long n, x, sum = 0, ans = 0; scanf("%lld", &n); for(long long i=1; i<=n; i++) { scanf("%lld", &x); sum += x; if(sum > ans) ans = sum; if(sum < 0) sum = 0; } printf("%lld\n", ans); return 0;}
3 毕竟是动态规划,利用动规解一波(不太懂)(雾)
#include<cstdio>#include<cstring>#include<algorithm>using namespace std;typedef long long ll;const int maxn = 1E5 + 10;int a[maxn];ll dp[maxn];int main(){ int n,flg = 1; scanf("%d",&n); for(int i = 0 ; i < n ; ++i) { scanf("%d",&a[i]); if(a[i] >= 0) flg = 0; } if(flg) { printf("0\n");return 0; } memset(dp,0,sizeof(dp)); ll ans = 0; dp[0] = a[0]; for(int i = 1 ; i < n ; ++i) { dp[i] = max((long long)a[i],dp[i - 1] + a[i]); ans = max(dp[i] , ans); } printf("%lld\n",ans); return 0;}
0 0
- 51nod 1049 最大子段和
- 51Nod 1049 最大子段和
- 51nod:1049 最大子段和
- 51Nod--1049最大子段和
- 51nod 1049 最大子段和
- 51nod 1049 最大子段和
- 51nod 1049 最大子段和
- 51Nod 1049 最大子段和
- 【51nod】1049 最大子段和
- 51NOD 1049 最大子段和
- 51Nod 1049 最大子段和
- 51nod 1049 最大子段和
- 51Nod 1049 最大子段和
- 51Nod 1049 最大子段和
- 51Nod-1049-最大子段和
- 51Nod 1049 最大子段和
- 51Nod-1049 最大子段和
- 51nod--1049 最大子段和
- django1.10官方文档翻译
- 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门
- Ruby On Rails生成二维码
- 新的开始,新的征程!!
- 专注与游离,即为劳逸结合
- 51NOD 1049 最大子段和
- 集成学习---个体学习器的多样性
- 笔记:移动Web规范
- Java线程池详解
- orcale官方资源
- Android adb命令助你提高开发效率
- [USACO 2008 March Gold] 土地购买
- 软件项目开发环境构建之二:Confluence5.10.8安装
- spring.net+EF6+MVC 框架的搭建。