#include <stdio.h>
void sliding_window_sum(int arr[], int n, int k) {
// Your logic here
// Approach 1
/*
int sub_sum = 0;
for(int i = 0; i < n-k+1; i++){
for(int j = 0; j < k; j++){
sub_sum += arr[i+j];
}
printf("%d ", sub_sum);
sub_sum = 0;
}
*/
// Approach 2: O(n)
int sub_sum = 0;
for(int i = 0; i < k; i++){
sub_sum += arr[i];
}
printf("%d ", sub_sum);
for(int i = k; i < n; i++){
sub_sum += arr[i] - arr[i-k];
printf("%d ", sub_sum);
}
}
int main() {
int n, k, arr[100];
scanf("%d %d", &n, &k);
for (int i = 0; i < n; i++) scanf("%d", &arr[i]);
sliding_window_sum(arr, n, k);
return 0;
}
Input
5 3 1 2 3 4 5
Expected Output
6 9 12