Cod sursa(job #1783361)
| Utilizator | Data | 18 octombrie 2016 22:45:17 | |
|---|---|---|---|
| Problema | Subsecventa de suma maxima | Scor | 100 |
| Compilator | c | Status | done |
| Runda | Arhiva educationala | Marime | 0.6 kb |
#include <stdio.h>
int main()
{
int n, nr, sum, summax, i, poz, start, stop;
FILE *fin, *fout;
fin = fopen( "ssm.in", "r" );
fscanf( fin, "%d", &n );
sum = summax = -2000000000;
poz = start = stop = 0;
for( i=0; i<n; i++ ){
fscanf( fin, "%d", &nr );
if( sum < 0 )
sum = nr, poz = i;
else
sum += nr;
if( sum>summax )
summax = sum, start = poz, stop = i;
}
fclose( fin );
fout = fopen( "ssm.out", "w" );
fprintf( fout, "%d %d %d\n", summax, start+1, stop+1 );
fclose( fout );
return 0;
}
