Cod sursa(job #346308)
Utilizator | Data | 7 septembrie 2009 14:38:40 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.35 kb |
#include<stdio.h>
int S,ifin,jfin,w=1,v[6000001],max=-40000,N,o=1,x;
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
scanf("%d",&N);
for(int i=1;i<=N;++i)
scanf("%d",v[i]);
for(int i=1;i<=N;++i)
{
S=S+v[i];
if(S>max)
{
ifin=w;
jfin=o;
max=S;
}
if(S<0)
S=0,w=i;
}
printf("%d %d %d",max,ifin,jfin);
return 0;
}