#include <stdio.h>
void sliding_window_sum(int arr[], int n, int k) {
if (k <= 0 || k > n) {
// No valid windows
return;
}
int window_sum = 0;
// Calculate sum of first window
for (int i = 0; i < k; i++) {
window_sum += arr[i];
}
printf("%d", window_sum);
// Slide the window from start to end
for (int i = k; i < n; i++) {
window_sum = window_sum - arr[i - k] + arr[i];
printf(", %d", window_sum);
}
printf("\n");
}
int main() {
int arr[] = {1, 3, 2, 6, 4, 5};
int n = sizeof(arr) / sizeof(arr[0]);
int k = 3;
sliding_window_sum(arr, n, k);
return 0;
}for (int i = 0; i < k; i++) { window_sum += arr[i]; }
Calculate initial sum of the first window
for (int i = k; i < n; i++) { window_sum = window_sum - arr[i - k] + arr[i]; }
Slide window by removing left element and adding new right element