Pagini recente » Cod sursa (job #993163) | Cod sursa (job #2539189) | Cod sursa (job #2869002) | Cod sursa (job #985517) | Cod sursa (job #938663)
Cod sursa(job #938663)
#include <cstdio>
using namespace std;
long long v[6000005];
int main()
{
int i,n,min,max,st,dr,x,p,maxn,k;
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
scanf("%d",&x);
v[1]=x;
maxn=max=v[1];
p=dr=1;
for(i=2;i<=n;i++)
{
scanf("%d",&x);
if(x>maxn)
{
maxn=x;p=i;
}
v[i]=v[i-1]+x;
}
//161102 679286 798646
min=0;
max=-(1<<30);
st=dr;
for(i=1;i<=n;i++)
{
if(min>v[i])
{
min=v[i];
k=i+1;
}
if(v[i]-min>max)
{
max=v[i]-min;
dr=i;
st=k;
}
}
if(dr==1)
printf("%d %d %d",maxn,p,p);
else
printf("%d %d %d",max,st,dr);
return 0;
}