取最大字串和(HDoj 1003)

关于杭电Oj1003题的一个解法

#include <iostream>

using namespace std;

int main()
{
int max,start,end,temp,n,k,t,a;

cin>>t;

for(int i = 1; i <= t; i++)
{
cin>>n;
max=-9999;
temp=0;
start=1;
end=1;
k=1;
for(int j = 1;j <= n;j++)
{
cin>>a;
temp += a;
if(temp > max)
{
max = temp;
start = k;
end = j;
}
if(temp < 0)
{
temp = 0;
k = j+1;
}
}

if(i != 1)
cout<<endl;

cout<<"Case "<<i<<":"<<endl;
cout<<max<<" "<<start<<" "<<end<<endl;

}

} 


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nizihabi/article/details/46786009
文章标签: c++ 杭电
个人分类: C++
上一篇关于C++builder中精度丢失的问题
下一篇大数据的加法
想对作者说点什么? 我来说一句

HDOJ题目分类 HDOJ题目分类

2010年04月02日 80KB 下载

字符串中的最长重复串

2012年03月09日 3.63MB 下载

分治法实现最大字串

2012年01月06日 248KB 下载

String类的实现 VisualC++

2010年04月20日 1.24MB 下载

使用FSO讀取文字檔

2013年06月12日 2KB 下载

hdoj 2013 多校训练3标程+解题报告

2013年08月05日 473KB 下载

ACM HDOJ 课件

2013年10月31日 2.8MB 下载

HDOJ离线版

2007年11月14日 3.48MB 下载

没有更多推荐了,返回首页

关闭
关闭