hdu1003 Max Sum
来源:互联网 发布:网络违法犯罪举报 编辑:程序博客网 时间:2024/06/05 09:12
C - Max Sum
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit
Status
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:
Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u
Submit
Status
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
true:
#include<cstdio>#define mo 100100int n,kai,jie,ma,kk,jj,he;int shu[mo];int main(){int t;scanf("%d",&t);for (int j=1;j<=t;j++){scanf("%d",&n);shu[0]=0;for (int i=1;i<=n;i++)scanf("%d",&shu[i]);he=ma=shu[1];kk=1;kai=1;jie=1;for (int i=2;i<=n;i++){if (he<0){he=shu[i];kk=i;}elsehe+=shu[i];if (he>ma){ma=he;kai=kk;jie=i;}}printf("Case %d:\n",j);printf("%d %d %d\n",ma,kai,jie);if (j!=t)printf("\n");}return 0;}
#include<cstdio>#define mo 100100int n,k;int shu[mo];int chang,kai,jie;int mi,mik,ch;int ma,mk,huo;int main(){int t;scanf("%d",&t);for (int j=1;j<=t;j++){scanf("%d",&n);shu[0]=0;for (int i=1;i<=n;i++){scanf("%d",&k);shu[i]=shu[i-1]+k;}ma=-0x3f3f3f;for (int i=1;i<=n;i++)if (shu[i]>ma){ma=shu[i];mk=i;}mi=0x3f3f3f;for (int i=0;i<mk;i++)if (shu[i]<mi) { mi=shu[i]; mik=i; }chang=shu[mk]-shu[mik];//第一次max;kai=mik;jie=mk;huo=mk+1;while (mk!=n){ma=-0x3f3f3f; for (int i=huo;i<=n;i++)if (shu[i]>ma){ma=shu[i];mk=i;} mi=0x3f3f3f; for (int i=huo-1;i<mk;i++) if (shu[i]<mi) { mi=shu[i]; mik=i; } ch=shu[mk]-shu[mik];//再次max; if (chang<ch) { chang=ch; kai=mik;jie=mk;huo=mk+1;}huo=mk+1;}printf("Case %d:\n",j);printf("%d %d %d\n",chang,kai+1,jie);//Sm-Sn是从n+1到m,if (j!=t)printf("\n");}return 0;}
0 0
- HDU1003 MAX SUM
- hdu1003 Max Sum
- HDU1003 Max Sum
- HDU1003: Max Sum
- HDU1003 Max Sum
- hdu1003 Max Sum
- hdu1003 Max Sum
- HDU1003 Max Sum
- HDU1003:Max Sum
- HDU1003-Max Sum
- HDU1003 Max Sum【DP】
- HDU1003 Max Sum
- hdu1003 Max Sum
- hdu1003 Max Sum
- 【HDU1003】【Max Sum】
- HDU1003---Max Sum
- HDU1003 Max Sum
- hdu1003 Max Sum
- Watchmen (Codeforces Round #345 (Div. 2) C)
- ORACLE管理-实用sql
- caffe 的layer的参数说明
- 快速排序、基准元的选取及其优化
- Java中整型的缓存机制
- hdu1003 Max Sum
- 容斥原理
- Android Service大总结
- 关于JSON.stringify 与 JSON.parse使用小记(笔记向)
- 编写界面的最佳实践——聊天界面
- android ImageView的属性android:scaleType,即ImageView.setScaleType(ImageView.ScaleType)
- java ScheduledExecutorService 使用
- Oracle - ORA-01840: input value not long enough for date format
- 【leetcode】Array——Majority Element II(229)