# your code goes here
def pfx(arr, n):
pfx_dict = {}
pfx_sum = [0]*(n)
pfx_sum[0] = arr[0]
for i in range(1, n):
pfx_sum[i] = pfx_sum[i-1]+arr[i]
for n in pfx_sum:
pfx_dict[n] = pfx_dict.get(n, 0)+1
return pfx_sum, pfx_dict
def func(arr, n, k):
pfx_sum, pfx_dict = pfx(arr, n)
count = 0
for i in range(n):
j = pfx_sum[i]-k
count += pfx_dict.get(j, 0)
return count
IyB5b3VyIGNvZGUgZ29lcyBoZXJlCgpkZWYgcGZ4KGFyciwgbik6CglwZnhfZGljdCA9IHt9CglwZnhfc3VtID0gWzBdKihuKQoJcGZ4X3N1bVswXSA9IGFyclswXQoJZm9yIGkgaW4gcmFuZ2UoMSwgbik6CgkJcGZ4X3N1bVtpXSA9IHBmeF9zdW1baS0xXSthcnJbaV0KCQkKCWZvciBuIGluIHBmeF9zdW06CgkJcGZ4X2RpY3Rbbl0gPSBwZnhfZGljdC5nZXQobiwgMCkrMQoJCQoJcmV0dXJuIHBmeF9zdW0sIHBmeF9kaWN0CgkKCmRlZiBmdW5jKGFyciwgbiwgayk6CglwZnhfc3VtLCBwZnhfZGljdCA9IHBmeChhcnIsIG4pCgkKCWNvdW50ID0gMAoJCglmb3IgaSBpbiByYW5nZShuKToKCQlqID0gcGZ4X3N1bVtpXS1rCgkJY291bnQgKz0gcGZ4X2RpY3QuZ2V0KGosIDApCgkJCglyZXR1cm4gY291bnQ=