#include <stdio.h>
void return_single_line(int *arr, int n, char out[]) {
int pos = 0;
for (int i = 0; i < n; i++) {
pos += sprintf(out + pos, "%d", arr[i]);
if (i < n - 1) {
pos += sprintf(out + pos, " ");
}
}
}
void sliding_window_sum(int arr[], int n, int k, char out[]) {
int num_windows = n - k + 1;
int buff_sums[num_windows];
for (int i = 0; i <= n - k; i++) {
int sum = 0;
for (int j = i; j < i + k; j++) {
sum += arr[j];
}
buff_sums[i] = sum;
}
return_single_line(buff_sums, num_windows, out);
}
int main() {
int n, k, arr[100];
char buffer[100];
scanf("%d %d", &n, &k);
for (int i = 0; i < n; i++) scanf("%d", &arr[i]);
sliding_window_sum(arr, n, k, buffer);
printf("%s", buffer);
return 0;
}
Input
5 3 1 2 3 4 5
Expected Output
6 9 12