Pagini recente » Cod sursa (job #678299) | Cod sursa (job #1421840) | Cod sursa (job #1491146) | Cod sursa (job #1968005) | Cod sursa (job #2811780)
#include <stdio.h>
FILE *fin, *fout;
int readInt() {
int ch, res, semn = 1;
while ( isspace( ch = fgetc( fin ) ) );
if ( ch == '-' ) {
semn = -1;
ch = fgetc( fin );
}
res = 0;
do
res = 10 * res + ch - '0';
while ( isdigit( ch = fgetc( fin ) ) );
return semn * res;
}
int main()
{
int n, a, b, i, sum, pstart, pend, total, st, dr;
fin = fopen( "ssm.in", "r" );
fout = fopen( "ssm.out", "w" );
n = readInt();
a = readInt();
sum = a;
total = a;
pstart = pend = 0;
for ( i = 1; i < n; i++ ) {
b = readInt();
if ( sum + b < b ) {
sum = b;
st = i;
} else {
sum += b;
}
dr = i;
if ( total < sum ) {
total = sum;
pstart = st;
pend = dr;
}
}
fprintf( fout, "%d %d %d", total, pstart + 1, pend + 1 );
fclose( fin );
fclose( fout );
return 0;
}