Pagini recente » Monitorul de evaluare | Istoria paginii runda/sim0001/clasament | Atasamentele paginii becreative12 | Cod sursa (job #1237659) | Cod sursa (job #2333034)
#include <cstdio>
using namespace std;
long long v[6000001];
int main()
{
long long m,s,em;
int n,i,ok=0,st,dr,stm,poz,l,ap=0;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%lld",&v[i]);
if(v[i]>0)
ok=1;
if(v[i]<=0&&ap==0)
{
em=v[i];
ap=1;
}
}
s=0;
m=0;
l=0;
for(i=1;i<=n;i++)
{
if(s+v[i]>=0)
{
s+=v[i];
l++;
}
else
{
s=0;
l=0;
}
if(s>m)
{
m=s;
dr=i;
st=dr-l+1;
}
if(ok==0)
if(v[i]>em)
{
em=v[i];
poz=i;
}
}
if(ok==1)
printf("%lld %d %d",m,st,dr);
else
printf("%lld %d %d",em,poz,poz);
return 0;
}