20200310之和最大子序列 (动态规划)
2020-04-07 12:22
1441 查看
题目描述
对于一个给定的长度为N的整数序列A,它的“子序列”的定义是:A中非空的一段连续的元素(整数)。你要完成的任务是,在所有可能的子序列中,找到一个子序列,该子序列中所有元素的和是最大的(跟其他所有子序列相比)。程序要求你输出这个最大值。
输入
输入文件的第一行包含一个整数N,第二行包含N个整数,表示A。
其中
1<=N<=100000
-10000<=A[i]<=10000
输出
输出仅包含一个整数,表示你算出的答案。
样例输入
5
3 -2 3 -5 4
样例输出
4
#include <bits/stdc++.h> using namespace std; int a[100000]; int dp[100000]; int main(){ int N; cin>>N; for(int i=0;i<N;i++) cin>>a[i]; int t=INT_MIN; dp[0]=0; for(int i=1;i<=N;i++){ dp[i]=max(dp[i-1]+a[i-1],a[i-1]); t=max(t,dp[i]); } cout<<max(t,dp[0])<<endl; return 0; }
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- 20200310之种树 (动态规划 搜索)
- 20200312之第几天 (Excel)
- 20200314之新型导弹 (枚举 填空)
- 20200314之分苹果 (前缀和差分)
- 2019年第十届蓝桥杯(慢慢补)
- 算法设计与分析之 动态规划
- 开始记录
- C#接口笔记
- 20200313C#随手截图笔记
- Eplan截图笔记
- Driver files are not downloaded
- maven mybatis小结20200313
- jreble搜不到一直转圈或者提示商城没有的现象
- springboot2.2.6阿里镜像提示找不到
- 查看注解的作用
- 自己去阿里仓库找依赖遇到问题
- Youka:可创建任何YouTube视频的卡拉OK歌曲版本的免费网站
- 20200222 jzoj c组 生产武器(produce)
- 20200328 jzoj 羊羊整除(div)
- 20200307VJ总结