Cod sursa(job #820725)
Utilizator | Data | 21 noiembrie 2012 09:49:36 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 95 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.36 kb |
#include<cstdio>
#define D 6000001
using namespace std;
int main()
{
freopen("ssm.in","r",stdin);freopen("ssm.out","w",stdout);
int n,i,a,m=int(2e9),i1,i2,j,S=-int(2e9),b;
scanf("%d%d",&n,&a);b=a;
if(a>0)
j=0,m=0;
for(i=2;i<=n;i++)
{
scanf("%d",&a);
b+=a;
if(b<m)
m=b,j=i;
if(S<b-m)
S=b-m,i2=i,i1=j+1-(i==1);
}
printf("%d %d %d",S,i1,i2);
}