Mai intai trebuie sa te autentifici.
Cod sursa(job #555784)
Utilizator | Data | 15 martie 2011 19:27:27 | |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 85 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include<cstdio>
#include<values.h>
#define FOR(i,a,b) for (int i=(a);i<=(b);++i)
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int i,n,sum,bestsum,x,end,start,maxi;
scanf("%d",&n);
sum=0;
bestsum=-(1>>32);
FOR (i,1,n)
{
scanf("%d",&x);
if (sum<0)
sum=x,maxi=i;
else
sum+=x;
if (bestsum<sum)
bestsum=sum,start=maxi,end=i;
}
printf("%d %d %d",bestsum,start,end);
return 0;
}