Cod sursa(job #303394)
Utilizator | Puni Andrei Paul crawler | Data | 9 aprilie 2009 20:15:46 |
---|---|---|---|
Problema | Subsecventa de suma maxima | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 0.53 kb |
#include <stdio.h>
int main()
{
freopen("ssm.in","r",stdin);
freopen("ssm.out","w",stdout);
int n,S=0,min=0,Best=-2100000000,pM=1,pS,pD,x;
scanf("%d", &n);
for (int i=1;i<=n;++i)
{
scanf("%d", &x);S+=x;
if (S - min > Best)
Best = S - min,
pS = pM+1,
pD = i;
if (S < min)
min = S,
pM = i;
}
printf("%d %d %d\n", Best,pS,pD);
return 0;
}