Pagini recente » Cod sursa (job #1874707) | Cod sursa (job #1190080) | Cod sursa (job #1874703) | Monitorul de evaluare | Cod sursa (job #1922786)
#include <iostream>
#include <cstdio>
using namespace std;
const int NMax = 6000000;
int v[NMax], best[NMax], N;
int bestmax= - 0x3f3f3f3f, st, dr;
void Read()
{
scanf("%d", &N);
for(int i=1; i<=N; ++i)
scanf("%d", &v[i]);
}
int stg=1;
void Solve()
{
for(int i=1; i<=N; ++i)
{
best[i]=v[i];
if(v[i]+best[i-1] > best[i])
best[i]=best[i-1]+v[i];
else
{
stg=i;
}
if(best[i] > bestmax)
{bestmax=best[i];
st=stg;
dr=i;
}
}
}
int main()
{
freopen("ssm.in", "r", stdin);
freopen("ssm.out", "w", stdout);
Read();
Solve();
printf("%d %d %d", bestmax, st, dr);
return 0;
}