#include <iostream>
using namespace std;
#define num 1024
int arr[num];
int MaxSum(int n, int &Maxi, int &Maxj)
{
int Sum = 0;
int S = 0;
int begin = 0;
for (int i = 1;i <= n;i++)
{
if (S > 0)
S += arr[i];
else
{
S = arr[i];
begin = i;
}
if (S > Sum)
{
Sum = S;
Maxi = begin;
Maxj = i;
}
else continue;
}
return Sum;
}
int main()
{
int n;
int Maxi, Maxj;
cout<<"输入整数个数:"<<endl;
cin>>n;
while (true)
{
Maxi = 0;
Maxj = 0;
cout<<"输入的整数为:"<<endl;
for (int i=1; i<=n; i++)
cin>>arr[i];
cout<<"最大子段和为:"<<MaxSum(n, Maxi, Maxj)<<endl;
cout<<"和最大子段下标范围: "<<Maxi<<"--"<<Maxj<<endl;
break;
}
return 0;
}