Pagini recente » Cod sursa (job #2260902) | Cod sursa (job #1103069) | Cod sursa (job #2914088) | Cod sursa (job #3212552) | Cod sursa (job #2452680)
#include <stdio.h>
#include <stdlib.h>
int v[50000];
int s[50000];
int main() {
FILE *fin = fopen( "secv2.in", "r" ), *fout = fopen( "secv2.out", "w" );
int n, k, i, s1, s2, j1, j2, max, j3, j4;
fscanf( fin, "%d%d", &n, &k );
for ( i = 0; i < n; i ++ ) {
fscanf( fin, "%d", &v[i] );
}
s2 = 0;
s1 = 0;
for ( i = 0; i < k; i ++ ) {
s[i] = v[i];
s1 += v[i];
}
j1 = 0;
j2 = k;
max = -2000000000;
for ( ; i < n; i ++ ) {
if ( s1 >= max ) {
max = s1;
j3 = j1;
j4 = j2;
}
s[i] = v[i];
s1 += v[i];
s2 += v[j1 + j2 - k];
j2 ++;
if ( s2 < 0 ) {
s1 += -1 * s2;
j1 = j2 - k;
s2 = 0;
}
}
fprintf( fout, "%d %d %d", j3 + 1, j4, max );
fclose( fin );
fclose( fout );
return 0;
}