Cod sursa(job #261977)
Utilizator | Data | 18 februarie 2009 21:52:26 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.39 kb |
#include<stdio.h>
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
long n,p,u,s=-(1<<30),p1=1,s1=0;
scanf("%ld",&n);
long aux;
long i;
for(i=1; i<=n; ++i)
{
scanf("%ld",&aux);
s1+=aux;
if(s1<0)
{
s1=0;
p1=i+1;
continue;
}
if(s1>s)
{
s=s1;
p=p1;
u=i;
}
}
printf("%ld %ld %ld\n",s,p,u);
return 0;
}