この問題の解法はほとんどAGC 023 Zero-Sum Rangesと同様です

N-Sum Ranges
SS を長さ N+1N + 1 の数列とし、S0=0,Si=Si1+AiS_0 = 0, S_i = S_{i−1} + A_i とします。
ある連続する部分列の総和は、 SS の 2 要素の差です。
よって、和が KK になる連続する部分列の数は、SS の2点i,j(i<j)i,j(i<j)を選び,SjSi=KS_j-S_i=Kとなる i,ji,jを選ぶ方法の数に等しいです。
これは、SS の要素に それぞれの数字が何回出てきたかをmap などでカウントしておき、SSの要素iiに対してmap内にあるSiKS_i-Kの数の和が答えとなります。
よってこの問題は O(N)O(N)で解けました