/*求子数组的最大和
题目:
输入一个整型数组,里有正也负。
求所有连续的子数组的和最大值。
输入0时结束。
要求时间复杂度为 O(n) */
#include<iostream>
#include<cstdio>
using namespace std;
int record[1000];
int main()
{
int max=-(1<<32);
int sum=0,cnt=0;
int n;
while( cin>>n && n!='0' ){
sum+=n;
if(sum>max){
max=sum;
cout<<++cnt<<": "<<n<<" ";
}
else if(sum<0) sum=0;
}
cout<<endl;
cout<<max<<endl;
return 0;
}