Pagini recente » Cod sursa (job #3174256) | Cod sursa (job #1261435) | Cod sursa (job #650203) | Cod sursa (job #1976370) | Cod sursa (job #2168526)
#include <bits/stdc++.h>
#define N 6000001
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[N], s[N], n;
int best[N], smax;
/*void Precalc()
{
for(int i=1; i<=n; i++) best[i]=-2000000000;
s[0]=0;
for(int i=1; i<=n; i++) s[i]=s[i-1]+a[i];
}*/
void Solve()
{
int s,smax,lg,lgsecv,u;
s=a[1];
smax=s;
lg=lgsecv=1;
u=1;
for(int i=2; i<=n; i++)
if(s>=0)
{
s+=a[i];
lg++;
if(s>smax)
{
smax=s;
lgsecv=lg;
u=i;
}
}
else
{
s=a[i];
lg=1;
if(s>smax)
{
smax=s;
lgsecv=lg;
u=i;
}
}
fout<<smax<<" "<<u-lgsecv+1<<" "<<u;
}
/*void Do()
{
int i, vmin=0;
for(i=1; i<=n; i++)
{
best[i]=s[i]-vmin;
vmin=min(vmin, s[i])
}
}*/
int main()
{
fin>>n;
for(int i=1; i<=n; i++) fin>>a[i];
//Precalc();
Solve();
return 0;
}