Pagini recente » Cod sursa (job #1765870) | Cod sursa (job #737958) | Cod sursa (job #1918995) | Cod sursa (job #3312045) | Cod sursa (job #1874889)
#include <iostream>
#include <cstdio>
using namespace std;
const int NMax = 6000005;
const int inf = 0x3f3f3f3f;
int v[NMax], best[NMax], N;
long long SMax=-inf;
long long S=0;
void Read()
{
scanf("%d", &N);
for(int i=1; i<=N; ++i)
scanf("%d", &v[i]);
}
void Solve()
{ int st=1, lg, dr=1;
int lstg;
for(int i=1; i<=N; ++i)
{
best[i]=v[i];
if(best[i] <= best[i-1]+v[i])
best[i]=best[i-1]+v[i];
else
st=i;
if(SMax < best[i])
{
lstg=st;
SMax=best[i];
dr=i;
}
}
cout<<SMax<<" "<<lstg<<" "<<dr;
}
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
Read();
Solve();
return 0;
}