Pagini recente » Cod sursa (job #516827) | Cod sursa (job #692849) | Cod sursa (job #2216391) | Cod sursa (job #1374676) | Cod sursa (job #1576465)
#include <stdio.h>
#include <stdlib.h>
int v[50000];
int main()
{
FILE *fin = fopen("ssm.in", "r"), *fout = fopen("ssm.out", "w");
int b, n, k, sc, smax, i, imax, jmax, kk, s, g;
s = g = 0;
fscanf(fin, "%d%d%d", &n, &kk, &b);
sc = b;
i = 0;
smax = b;
imax = 0;
jmax = 0;
for(k = 1; k < n; k++){
fscanf(fin, "%d", &b);
g ++;
sc += b;
if(g == kk + 1){
sc -= v[s];
i ++;
g --;
}
v[s] = b;
if(sc > smax){
smax = sc;
jmax = k;
imax = i;
}
if(sc < 0 && k != n - 1){
sc = 0;
i = k + 1;
g = 0;
}
s ++;
}
if(sc > smax){
smax = sc;
jmax = k - 1;
imax = i;
}
fprintf(fout, "%d %d %d\n", smax, imax + 1, jmax + 1);
fclose(fin);
fclose(fout);
return 0;
}