Cod sursa(job #681178)
| Utilizator | Data | 16 februarie 2012 18:57:23 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.47 kb |
#include <stdio.h>
#define nmax 6000005
using namespace std;
int n, sc, ic, sm, st, sf, x;
int main()
{
freopen ("ssm.in","r",stdin);
freopen ("ssm.out","w",stdout);
sm = -nmax;
scanf("%d", &n);
for(int i=1;i<=n;i++)
{
scanf("%d",&x);
if(sc < 0)
sc = x, ic=i;
else
sc+=x;
if(sm < sc)
sm=sc, st=ic, sf=i;
}
printf("%d %d %d", sm, st, sf);
return 0;
}
