Mai intai trebuie sa te autentifici.
Cod sursa(job #417841)
| Utilizator | Data | 14 martie 2010 22:35:23 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 0 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include <stdio.h>
#include <stdlib.h>
#define in "ssm.in"
#define out "ssm.out"
#define NMAX 6000005
int N, A[NMAX], bbegin, begin, end;
int main ( void )
{
freopen ( in, "r", stdin );
freopen ( out, "w", stdout );
scanf ( "%d", &N );
int i, x;
for ( i = 1 ; i <= N; scanf ( "%d", A+i++ ) );
int maxim = A[1];
for( i = 2 ; i <= N ; ++i )
{
if ( x >= 0 )
x += A[i];
else
{
x = A[i];
begin = i;
}
if ( maxim < x )
{
maxim = x;
bbegin = begin;
end = i;
}
}
printf ( "%d %d %d\n", maxim, bbegin, end );
return 0;
}
