PATA-1007 Maximum Subsequence Sum (25)
来源:互联网 发布:复杂网络 机器人定位 编辑:程序博客网 时间:2024/06/06 05:48
题意:
给定N,下一行N个数字,求最大子段和,并且求出第一个最大子段和的和 以及初始元素和末尾元素:
注意:
题简单,但是坑多。
1.如果所有元素都小于0,那么输出0 , 第一个元素, 末尾元素
2.如果有一个0,其余均为负数,那么输出0 , 0 , 0
#include <iostream>#include <stdio.h>using namespace std;int a[10001];int main(){ int sum=0,maxi=0; int n; cin>>n; int flag=1; for(int i=0;i<n;i++) scanf("%d",&a[i]); int start=0,over=0; int st=0,ed=n-1; for(int i=0;i<n;i++) { if(sum>=0) { sum+=a[i]; over=i; } else { sum=a[i]; start=i; over=i; } if(sum>maxi||(sum==0&&ed==n-1))//这一步后面的原因是如果最后一个sum=0那么意味着最终一个元素小于0,而且end=n-1那么意味着之前没更新过,元素都小于0 { st=start; ed=over; maxi=sum; } } printf("%d %d %d\n",maxi,a[st],a[ed]); return 0;}
0 0
- PATA-1007 Maximum Subsequence Sum (25)
- 1007 Maximum Subsequence Sum (25)
- 1007 Maximum Subsequence Sum
- Maximum Subsequence Sum (25)
- Maximum Subsequence Sum (25)
- 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)
- Java(Calendar)
- 带 -option的Shell脚本
- flume采集本地数据到hdfs
- 一致代码段和非一致代码段
- C++学习笔记-友元理论详解
- PATA-1007 Maximum Subsequence Sum (25)
- 详解URL的组成
- 今天决定写博客
- day19装饰模式和SystemInfo,ExceptionInfo
- 相机选型之一
- nodejs死亡笔记之实战篇---微信公众号的开发(1)
- TQ2440使用uboot下的命令行进行ftp下载程序到nand flash
- lua正则表达式判断手机号
- 解决在onCreate()过程中获取View的width和Height为0的4种方法