Pagini recente » Cod sursa (job #287224) | Cod sursa (job #2428776) | Cod sursa (job #518932) | Cod sursa (job #242811) | Cod sursa (job #2508918)
#include <stdio.h>
#define MIN 20000000000LL
#define MAXN 6000000
int S[MAXN];
int main() {
FILE *fin = fopen( "ssm.in", "r" );
FILE *fout = fopen( "ssm.out", "w" );
int n, i, nr, st, dr, k;
long long min, max;
fscanf( fin, "%d%d", &n, &nr );
S[0] = nr;
for ( i = 1; i < n; ++i ) {
fscanf( fin, "%d", &nr );
S[i] = S[i - 1] + nr;
}
max = -MIN;
min = k = st = dr = 0;
for ( i = 0; i < n; ++i ) {
if ( min > S[i] ) {
k = i + 1;
min = S[i];
}
if ( max < S[i] - min ) {
dr = i;
st = k;
max = S[i] - min;
}
}
fprintf( fout, "%lld %d %d", max, st + 1, dr + 1 );
fclose( fin );
fclose( fout );
return 0;
}