#include <stdio.h> #include <stdlib.h> int* sliding_window_sum(int arr[], int n, int k) { int* result = (int*)malloc((n-k+1) * sizeof(int)); int sum=0; for(int i=0;i<k;i++){ sum+=arr[i]; result[0]=sum; } for(int i=k;i<n;i++){ sum+=arr[i]-arr[i-k]; result[i-k+1]=sum; } return result; } int main() { int n, k, arr[100]; scanf("%d %d", &n, &k); for (int i = 0; i < n; i++) scanf("%d", &arr[i]); int *sum=sliding_window_sum(arr, n, k); for(int i=0;i<=n-k;i++){ printf("%d ",sum[i]); } free(sum); }
Test Cases
Test Results
Input
5 3 1 2 3 4 5
Expected Output
6 9 12