博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PAT (Advanced Level) 1007. Maximum Subsequence Sum (25)
阅读量:6352 次
发布时间:2019-06-22

本文共 927 字,大约阅读时间需要 3 分钟。

简单DP。

注意:If all the K numbers are negative, then its maximum sum is defined to be 0, and you are supposed to output the first and the last numbers of the whole sequence.

#include
#include
#include
#include
#include
#include
using namespace std;const int maxn=10000;int n,a[maxn],sum,ans1,ans2;int dp[maxn];int main(){ scanf("%d",&n); for(int i=1; i<=n; i++) scanf("%d",&a[i]); dp[1]=a[1]; for(int i=2; i<=n; i++) dp[i]=max(dp[i-1]+a[i],a[i]); int Max=-999999999; for(int i=1; i<=n; i++) Max=max(Max,dp[i]); if(Max<0) printf("0 %d %d\n",a[1],a[n]); else { for(int i=1; i<=n; i++) { if(dp[i]==Max) { ans2=a[i]; int sum=0; for(int j=i; j>=0; j--) { sum=sum+a[j]; if(sum==Max) { ans1=a[j]; break; } } break; } } printf("%d %d %d\n",Max,ans1,ans2); } return 0;}

 

转载于:https://www.cnblogs.com/zufezzt/p/5496039.html

你可能感兴趣的文章
去掉iphone连接电脑时会出现的弹出窗口
查看>>
【python】-- web开发之HTML
查看>>
vs2015 去除 git 源代码 绑定
查看>>
解决firefox的button按钮文字不能垂直居中
查看>>
网络协议端口号详解
查看>>
大话数据结构读后感——第一章
查看>>
各种排序
查看>>
ts 格式化日期输出
查看>>
Optional
查看>>
sed 命令编辑文本
查看>>
LRUCache 具体解释
查看>>
Activity调用isDestroyed()方法报出,java.lang.NoSuchMethodError
查看>>
使用AFNetworking第三方下载类
查看>>
fhq-treap小结
查看>>
about porting
查看>>
MySQL事务及ACID特性
查看>>
Hadoop_31_MapReduce参数优化
查看>>
linux运维常见英文报错中文翻译(菜鸟必知)
查看>>
[原][osgEarth]添加自由飞行漫游器
查看>>
代码审查 Code Review
查看>>