Pagini recente » Cod sursa (job #512101) | Cod sursa (job #796217) | Cod sursa (job #345563) | Cod sursa (job #816272) | Cod sursa (job #263355)
Cod sursa(job #263355)
#include<stdio.h>
#define N 6000010
int n,i,ok,s,b,e,S,B,E,a[N];
void readd(),solve(),prints();
int main()
{
readd();
solve();
prints();
return 0;
}
void readd()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&n);
for(i=1;i<=n;i++){ scanf("%d",&a[i]);if(a[i]>0)ok=1;}
}
void solve()
{
if(!ok)
{
S=a[1];
B=E=1;
for(i=1;i<=n;i++)
if(a[i]>S)
{
S=a[i];
B=E=i;
}
return;
}
s=S=a[1];b=B=1;e=E=1;
for(;;)
{
if(s<0){s-=a[b];b++;continue;}
if(e<b){e++;s=a[b];continue;}
if(s>S){S=s;B=b;E=e;}
if(e==n)
break;
if(e<n)
s+=a[++e];
}
}
void prints()
{
printf("%d %d %d\n",S,B,E);
}