Suppose we're given an array of length `N`

upto `1e6`

and we apply prefix sum to the array in place, ie. `[a, b, c]`

becomes `[a, a + b, a + b + c]`

, we repeat this K times where `K`

can be upto `1e6`

.

Can we find the resulting array after K operations faster than `O(N*K)`

?

I have observed each preceding element has some contribution for an element in resulting array, but the coefficient doesn't seem intuitive to derive, can someone help derive how to compute the resulting array?

Finding a particular element of the resulting array, for example, just last element in better than `O(N*K)`

would also suffice, hope someone can help.