#include <stdio.h>
void sliding_window_sum_optimized(int arr[], int n, int k) {
if (n < k) return; // Kiểm tra lỗi nếu k lớn hơn mảng
int current_sum = 0;
// 1. Tính tổng cửa sổ đầu tiên (k phần tử đầu)
for (int i = 0; i < k; i++) {
current_sum += arr[i];
}
printf("%d ", current_sum);
// 2. Trượt cửa sổ từ phần tử thứ k đến hết mảng
for (int i = 1; i <= n - k; i++) {
// Công thức trượt: Tổng mới = Tổng cũ - (Phần tử đi ra) + (Phần tử đi vào)
// Phần tử đi ra là: arr[i - 1]
// Phần tử đi vào là: arr[i + k - 1]
current_sum = current_sum - arr[i - 1] + arr[i + k - 1];
printf("%d ", current_sum);
}
}
int main() {
int n, k;
int arr[1000]; // Tăng kích thước mảng để an toàn
scanf("%d %d", &n, &k);
for (int i = 0; i < n; i++) scanf("%d", &arr[i]);
sliding_window_sum_optimized(arr, n, k);
return 0;
}