Pagini recente » Cod sursa (job #2457222) | Cod sursa (job #3325302) | Cod sursa (job #603921) | Cod sursa (job #1081425) | Cod sursa (job #1773623)
#include <stdio.h>
int sum[50001];
int main() {
FILE *fin = fopen("secv2.in", "r");
FILE *fout = fopen("secv2.out", "w");
int n, k, i;
fscanf(fin, "%d%d", &n, &k);
int elem;
for(i = 1;i <= n;i++) {
fscanf(fin, "%d", &elem);
sum[i] = sum[i - 1] + elem;
}
int s, first = 1, last = k, smax, maxfirst = 1, maxlast = k;
smax = sum[k];
s = sum[k];
for(i = k + 1;i <= n;i++) {
if(s + sum[i] - sum[i - 1] >= sum[i] - sum[i - k]) {
last = i;
s += sum[i] - sum[i - 1];
}
else {
s = sum[i] - sum[i - k];
first = i - k + 1;
}
if(s > smax) {
smax = s;
maxfirst = first;
maxlast = last;
}
}
fprintf(fout, "%d %d %d", maxfirst, maxlast, smax);
fclose(fin);
fclose(fout);
return 0;
}