Pagini recente » Cod sursa (job #126037) | Cod sursa (job #2721656) | Cod sursa (job #573249) | Cod sursa (job #191153) | Cod sursa (job #1060179)
//subsir de suma maximala : http://www.infoarena.ro/problema/ssm
#include <cstdio>
int main () {
FILE *f, *g;
f = fopen( "ssm.in", "r" );
g = fopen( "ssm.out", "w" );
int n, x, ssm, maxssm, inc, sf, maxic, maxsf;
fscanf( f, "%d%d", &n, &x );
ssm = x;
maxssm = x;
inc = sf = 0;
maxic = maxsf = 0;
for( int i = 1; i < n ; ++i ) {
fscanf( f, "%d", &x );
if( ssm + x > 0 ) {
ssm += x;
++sf;
}
else {
ssm = x;
inc = sf = i;
}
if( ssm > maxssm ) {
maxssm = ssm;
maxic = inc;
maxsf = sf;
}
}
fprintf( g, "%d %d %d\n", maxssm, maxic + 1, maxsf + 1 );
fclose( f );
fclose( g );
return 0;
}