HDU 1003最大子段和
来源:互联网 发布:中国保险保险网络大学 编辑:程序博客网 时间:2024/05/17 07:34
题目:http://acm.hdu.edu.cn/showproblem.php?pid=1003
输入N,r然后输入n个数字,求这些数字中的最大子段和,并标明起点终点。
Input:
25 6 -1 5 4 -77 0 6 -1 1 -6 7 -5
Sample Output
Case 1:14 1 4Case 2:7 1 6
最后循环一遍找出max(dp[i]).打印起点和终点,终点就是i,往前找到起点。
#include<stdio.h>#include<string.h>int main(){ int T,N,i,j,max=0; int a[100010],b[100010]; scanf("%d", &T); for(int m=1;m<=T;m++) { scanf("%d", &N); memset(a, 0, sizeof(a)); memset(b, 0, sizeof(b)); for (i = 1; i <= N; i++) { scanf("%d", &a[i]); } b[1] = a[1]; for(i=2;i<=N;i++) { if (b[i - 1] < 0) b[i] = a[i];//为a[i]本身 else b[i] = b[i - 1] + a[i]; } max = 1; for (i = 1; i <= N; i++) { if (b[max] < b[i]) max = i; } int sum = 0,l; for (j = max; j > 0; j--) { sum += a[j]; if (sum == b[max]) l = j; } printf("Case %d:\n", m); printf("%d %d %d\n", b[max], l, max); if (m < T) printf("\n"); } return 0;}
阅读全文
0 0
- hdu 1003 最大子段和
- hdu 1003 最大子段和
- HDU 1003 最大连续子段和
- Hdu 1003 最大子段和
- HDU 1003-最大子段和
- HDU 1003最大子段和
- HDU 1003 求最大子段和的动态规划
- HDU-1003 Max Sum(最大连续子段和)
- HDU 1003 MAX SUM 最大连续子段和DP
- HDU 1003 Max Sum 最大子段和dp解题
- HDU 1003 Max Sum(最大连续子段和)
- hdu 1024 最大m子段和
- hdu 1024最大m子段和
- hdu 1231 最大子段和
- hdu 1024 最大M子段和
- hdu 1024 最大M子段和
- hdu 1024 最大M子段和
- HDU 1231(最大子段和)
- PHP匿名函数(闭包函数)
- Javaweb中JSP和Servlet的概述
- javascript入门第一课
- 看图说mapreduce的shuffle机制
- 页面底部功能区布局
- HDU 1003最大子段和
- Android高级进阶-换肤
- 数据结构(Java)---线性表
- HDU 3631 Shortest Path Floyd
- Gan与imitation learning,theano平台搭建 (2)
- 235/236. Lowest Common Ancestor of a Binary Search Tree/Lowest Common Ancestor of a Binary Tree
- HDOJ HDU 1047 Integer Inquiry
- JAVA工具类(8) --- json转换工具类(对象与json转换)
- java &&和&,||和|