Pagini recente » Cod sursa (job #310443) | Cod sursa (job #679186) | Cod sursa (job #75198) | Cod sursa (job #3177473) | Cod sursa (job #2818736)
#include <iostream>
#define INFINIT 2147483647
using namespace std;
FILE *fin, *fout;
int readInt() {
int n, semn = 1;
char ch;
while( ch != '-' && !isdigit ( ch = fgetc( fin ) ) );
if( ch == '-' ) {
semn = -1;
ch = fgetc( fin );
}
n = 0;
do {
n = n * 10 + ch - '0';
}while( isdigit( ch = fgetc( fin ) ) );
return n * semn;
}
int main() {
int n, a, s, st, dr, len, i, smax;
fin = fopen( "ssm.in", "r" );
n = readInt();
s = 0;
st = dr = len = 0;
smax = -INFINIT;
for( i = 0; i < n; i++ ) {
a = readInt();
if( s >= 0 ) {
s += a;
len++;
}
else {
s = a;
len = 0;
}
if( s > smax ) {
smax = s;
dr = i;
st = dr - len;
}
}
fclose( fin );
fout = fopen( "ssm.out", "w" );
fprintf( fout, "%d %d %d", smax, st + 1, dr + 1 );
fclose( fout );
return 0;
}