【HDU 杭电 1003 Max Sum】
来源:互联网 发布:蓝带 知乎 编辑:程序博客网 时间:2024/06/08 16:42
Max Sum
Problem Description
Given a sequence a[1],a[2],a[3]……a[n], your job is to calculate the max sum of a sub-sequence. For example, given (6,-1,5,4,-7), the max sum in this sequence is 6 + (-1) + 5 + 4 = 14.
Input
The first line of the input contains an integer T(1<=T<=20) which means the number of test cases. Then T lines follow, each line starts with a number N(1<=N<=100000), then N integers followed(all the integers are between -1000 and 1000).
Output
For each test case, you should output two lines. The first line is “Case #:”, # means the number of the test case. The second line contains three integers, the Max Sum in the sequence, the start position of the sub-sequence, the end position of the sub-sequence. If there are more than one result, output the first one. Output a blank line between two cases.
Sample Input
2
5 6 -1 5 4 -7
7 0 6 -1 1 -6 7 -5
Sample Output
Case 1:
14 1 4
Case 2:
7 1 6
#include<queue>#include<stack>#include<cmath>#include<cstdio>#include<cstring>#include<iostream>#include<algorithm>#define K 100011#define INF 0x3f3f3fusing namespace std;int pa[K];int st[K];//当前的最大连续子序列的最大和 int main(){ int i,j; int T; int n; int ans;//最大连续子序列的和 int a,b;//子序列的首尾位置 int test=1; int p=0;//最大连续子序列和的尾位置 scanf("%d",&T); while(T--) { if(p) printf("\n"); p=1; scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&pa[i]); st[1]=pa[1];ans=pa[1]; b=1; for(i=2;i<=n;i++) { st[i]=max(pa[i],pa[i]+st[i-1]); //当前连续子序列的最大和 if(st[i]>ans)//更新最大和 { ans=st[i]; b=i; } } a=b; for(i=b;i>=1;i--)//求首位置 { if(st[i]>=0) a=i; else break; } printf("Case %d:\n",test++); printf("%d %d %d\n",ans,a,b); } return 0;}
- 杭电 HDU 1003 Max Sum
- 杭电 HDU ACM 1003 Max Sum
- 【HDU 杭电 1003 Max Sum】
- 杭电 1003[Max Sum]
- 杭电1003 Max Sum
- 杭电1003 Max Sum
- 杭电 1003 Max Sum
- 杭电1003 Max Sum
- 杭电1003《Max Sum》
- 杭电1003---Max Sum
- 杭电1003 Max Sum
- 杭电1003 Max Sum
- 杭电1003 Max Sum
- Max Sum 杭电 1003
- 杭电 1003 max sum
- 杭电1003Max Sum
- 【杭电】[1003]Max Sum
- 【杭电1003】Max Sum
- 130. Surrounded Regions
- 文件夹快捷键
- Effective C++_Item12笔记
- 加载JDBC-ODBC驱动器和连接数据库
- Struts2日常笔记
- 【HDU 杭电 1003 Max Sum】
- 译:应用笔记 在C中的简单面向对象编程
- LightOJ 1409 Rent a Car 费用流
- django admin上传文件和图片
- openpyxl - 学习目录
- HDU 2059 龟兔赛跑
- Python练习100例-4
- 关于libcurl下载数据不全的bug
- 浅学OpenGLES2.0