HDU-1231 最大连续子序列

来源:互联网 发布:手机改网络机顶盒 编辑:程序博客网 时间:2024/05/05 13:04
/* * HDU-1231 最大连续子序列 * mike-w * 2011-9-14 * ----------------------------------------- * 最大连续子段和 => 经典问题 * ----------------------------------------- * 此题可以不设数组,优化空间 * 不过处理起来不是很简单,所以为了避免错误 * 我牺牲一点空间。 */#include<stdio.h>#include<stdlib.h>#define SIZE 11111int main(void){int s[SIZE];int k,sum,max,start,end;int i,t1,t2;#ifndef ONLINE_JUDGE freopen("1231.in","r",stdin);#endifwhile(scanf("%d",&k),k){for(i=0;i<k;i++)scanf("%d",s+i);max=-1;for(sum=i=t1=t2=0;i<k;i++){if(sum<0)sum=s[i],t1=i;elsesum+=s[i];if(sum>max)max=sum,t2=i,start=t1,end=t2;}if(max<0)printf("%d %d %d\n",0,s[0],s[k-1]);elseprintf("%d %d %d\n",max,s[start],s[end]);}return 0;}

原创粉丝点击