Cod sursa(job #1071215)
| Utilizator | Data | 2 ianuarie 2014 18:56:40 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.56 kb |
#include <stdio.h>
#define INF 2000000000
int main()
{
FILE *in = fopen ( "ssm.in", "r" );
int n, i, x, sc = -1, smax = -INF, p, pr, ult;
fscanf ( in, "%d", &n );
for ( i = 0; i < n; i++ ){
fscanf( in, "%d", &x );
if ( sc < 0 ){
p = i;
sc = 0;
}
sc += x;
if ( sc > smax ){
smax = sc;
pr = p;
ult = i;
}
}
FILE *out = fopen ( "ssm.out", "w" );
fprintf ( out, "%d %d %d", smax, pr + 1, ult + 1 );
return 0;
}
