1007 Maximum Subsequence Sum (25)
来源:互联网 发布:大数据建设 一流公司 编辑:程序博客网 时间:2024/06/07 11:35
求最大子序列的和,并输出这个最大子序列的头和尾的数字。
还有些小要求就是,如果有两个相等的最大子序列,输出前面的那个,然后如果都是负数,就输出0,第一个数,和最后一个数。
有个点我改了很多遍,就是如果是一堆负数,其中有个零,输出的应该是,0,0,0而不是0,第一个数,最后一个数。
#include <cstdio>#include <vector>#include <string>#include <cstring>#include <cstdlib>#include <iostream>#include <algorithm>#define INF 0x3fffffffusing namespace std;int main(){ int n,x,b,e,a[10005],dp[10005]; cin>>n; memset(a,0,sizeof(a)); memset(dp,0,sizeof(dp)); for (int i=1;i<=n;i++) { cin>>a[i]; dp[i]=max(dp[i-1]+a[i],a[i]); } int maxs=0,bb,flag=0; for (int i=1;i<=n;i++) { if (dp[i]==a[i]) bb=i; if (dp[i]>maxs||(dp[i]==maxs&&maxs==0)) { flag=1; maxs=dp[i]; e=i; b=bb; } } if (flag) cout<<maxs<<' '<<a[b]<<' '<<a[e]; else cout<<maxs<<' '<<a[1]<<' '<<a[n];}
阅读全文
0 0
- 1007 Maximum Subsequence Sum (25)
- 1007 Maximum Subsequence Sum
- Maximum Subsequence Sum (25)
- Maximum Subsequence Sum (25)
- Maximum Subsequence Sum (25)
- PATA-1007 Maximum Subsequence Sum (25)
- pat 1007 Maximum Subsequence Sum
- pat 1007 Maximum Subsequence Sum
- 1007. Maximum Subsequence Sum (25)
- PAT1007. Maximum Subsequence Sum (25)
- 1007. Maximum Subsequence Sum (25)
- 1007. Maximum Subsequence Sum (25)
- 1007. Maximum Subsequence Sum (25)
- 1007. Maximum Subsequence Sum (25)
- 1007. Maximum Subsequence Sum (25)
- 1007. Maximum Subsequence Sum (25)
- 1007. Maximum Subsequence Sum (25)
- 1007. Maximum Subsequence Sum (25)
- Android_适配器(1)
- 查找某个日期之前的文件
- 欢迎使用CSDN-markdown编辑器
- [教程]网关日志查看方法
- Android APK反编译就这么简单 详解(附图)
- 1007 Maximum Subsequence Sum (25)
- Nginx 301 重定向实现不带www跳转到www
- 缺省参数
- PDF文件的背景颜色是如何的设置技巧和操作方法
- putty windows上传文件到linux服务器 & 从linux服务器 下载文件到 windows
- 日志分析利器elk与logback(log4j)实战
- HDU1495 非常可乐 BFS+模拟
- 电梯(lift)
- hihocoder1032最长回文子串 [Manacher]