#include <stdio.h>
int main() {
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int n = 10;
int k = 3;
int prefix[n];
prefix[0] = arr[0];
for (int i = 1; i < n; i++) {
prefix[i] = prefix[i - 1] + arr[i];
}
int total = 0;
for (int i = 0; i <= n - k; i++) {
int sum;
if (i == 0)
sum = prefix[k - 1];
else
sum = prefix[i + k - 1] - prefix[i - 1];
total += sum;
}
printf("Sum of all subarray sums: %d\n", total
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbigpIHsKICAgIGludCBhcnJbXSA9IHsxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMH07CiAgICBpbnQgbiA9IDEwOwogICAgaW50IGsgPSAzOwogICAgaW50IHByZWZpeFtuXTsKICAgIHByZWZpeFswXSA9IGFyclswXTsKICAgIGZvciAoaW50IGkgPSAxOyBpIDwgbjsgaSsrKSB7CiAgICAgICAgcHJlZml4W2ldID0gcHJlZml4W2kgLSAxXSArIGFycltpXTsKICAgIH0KICAgIGludCB0b3RhbCA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaSA8PSBuIC0gazsgaSsrKSB7CiAgICAgICAgaW50IHN1bTsKICAgICAgICBpZiAoaSA9PSAwKQogICAgICAgICAgICBzdW0gPSBwcmVmaXhbayAtIDFdOyAgICAgICAgICAgICAgICAgICAKICAgICAgICBlbHNlCiAgICAgICAgICAgIHN1bSA9IHByZWZpeFtpICsgayAtIDFdIC0gcHJlZml4W2kgLSAxXTsgIAoKICAgICAgICB0b3RhbCArPSBzdW07CiAgICB9CgogICAgcHJpbnRmKCJTdW0gb2YgYWxsIHN1YmFycmF5IHN1bXM6ICVkXG4iLCB0b3RhbCk7CiAgICByZXR1cm4gMDsKfQ==