Pagini recente » Monitorul de evaluare | Monitorul de evaluare | Monitorul de evaluare | Diferente pentru utilizator/caheman intre reviziile 24 si 23 | Cod sursa (job #1764835)
#include <iostream>
#include <cstdio>
using namespace std;
const int Max = 6000100;
int x[Max];
int main()
{ long long SMax,Sum,st,poz,i,Lg;
int n;
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
scanf("%d",&n);
for(i=0;i<n;++i)
scanf("%d",&x[i]);
for(SMax=Sum=x[0], st=poz=0, Lg=i=1; i<n ; ++i)
{
if(Sum<0)
{
Sum=x[i];
st=i;
}
else
Sum+=x[i];
if(SMax<Sum)
{
SMax=Sum;
poz=st;
Lg=i-st+1;
}
}
cout<<SMax<<" "<<st+1<<" "<<st+Lg;
return 0;
}