Pagini recente » Cod sursa (job #333255) | Cod sursa (job #2313972) | Cod sursa (job #1021809) | Cod sursa (job #1885401) | Cod sursa (job #1363242)
#include <cstdio>
using namespace std;
#define Nmax 100002
#define inf 0x3f3f3f3f
FILE *f = fopen ( "secv2.in", "r" );
FILE *g = fopen ( "secv2.out", "w" );
int v[Nmax];
int main(){
int N, K, min = inf, max = -inf, pop = 1, st, dr;
fscanf ( f, "%d%d", &N, &K );
for ( int i = 1; i <= N; ++i ){
fscanf ( f, "%d", &v[i] );
v[i] += v[i-1];
}
for( int i = K; i <= N; ++i ){
if ( v[i] >= max ){
max = v[i];
st = 1;
dr = i;
}
if ( v[i] - min >= max && pop < i - K ){
max = v[i] - min;
st = pop + 1;
dr = i;
}
if ( v[i-K] < min ){
min = v[i-K];
pop = i - K;
}
}
fprintf ( g, "%d %d %d", st, dr, max );
return 0;
}