1007. Maximum Subsequence Sum (25)
来源:互联网 发布:淘宝怎么凑单 编辑:程序博客网 时间:2024/06/07 07:00
1007. Maximum Subsequence Sum (25)
Given a sequence of K integers { N1, N2, ..., NK }. A continuous subsequence is defined to be { Ni, Ni+1, ..., Nj } where 1 <= i <= j <= K. The Maximum Subsequence is the continuous subsequence which has the largest sum of its elements. For example, given sequence { -2, 11, -4, 13, -5, -2 }, its maximum subsequence is { 11, -4, 13 } with the largest sum being 20.
Now you are supposed to find the largest sum, together with the first and the last numbers of the maximum subsequence.
Input Specification:
Each input file contains one test case. Each case occupies two lines. The first line contains a positive integer K (<= 10000). The second line contains K numbers, separated by a space.
Output Specification:
For each test case, output in one line the largest sum, together with the first and the last numbers of the maximum subsequence. The numbers must be separated by one space, but there must be no extra space at the end of a line. In case that the maximum subsequence is not unique, output the one with the smallest indices i and j (as shown by the sample case). 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.
Sample Input:10-10 1 2 3 4 -5 -23 3 7 -21Sample Output:
10 1 4
提交代
码
二重循环即可
#include <iostream>#include<cstdio>#include<string.h>#include<cmath>using namespace std;int main(){int a[10001],temp;int start=0,end=0,sum=-1,n;cin>>n;for(int i=0;i<n;i++)cin>>a[i];for(int i=0;i<n;i++){temp=0;for(int j=i;j<n;j++){temp+=a[j];if(temp>sum){sum=temp;start=a[i];end=a[j];}}}if(sum<0){printf("0 %d %d\n",a[0],a[n-1]);return 0;}printf("%d %d %d\n",sum,start,end);return 0;}
- 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)
- 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)
- 1007. Maximum Subsequence Sum (25)
- 1007. Maximum Subsequence Sum (25)
- Android拍照、裁剪与相册处理
- Android--从零单排系列(1)--打电话,发短信
- Unity调用IOS时间日期控件UIDatePicker
- JVM性能调优5:Heap堆分析方法
- iOS-沙盒路径
- 1007. Maximum Subsequence Sum (25)
- 对象序列化
- java获取cpu、内存、硬盘信息
- Java 7之基础 - 强引用、弱引用、软引用、虚引用
- 算法复习:最大团问题(回溯法和分支限界法)
- Linux系统中采用Atlas+Keepalived实现MySQL读写分离、负载均衡
- C++中 #ifdef 和#endif的作用
- 汇编语言(三)内存拷贝问题 以及 汇编数据 不能以字母打头
- poj 2506 Tiling