Untitled

 avatar
unknown
python
a month ago
656 B
4
Indexable
n = int(input()) 
k = int(input()) 
arr = [] 
for i in range(n):
    arr.append(int(input())) 
print(arr) 
def brute_force(arr,k):
    count = 0  
    for i in range(len(arr)): 
        cs = 0 
        for j in range(i,0,-1):
            cs += arr[j] 
            if cs == k:
                count = count + 1 
    return count 
from collections import defaultdict 
def optimal_solve(arr,k):
    mp = defaultdict(int) 
    psum = 0
    count = 0 
    mp[0] = 1  
    for i in range(len(arr)):
        psum += arr[i] 
        if psum - k in mp:
            count = count + mp[psum - k] 
        mp[psum] += 1 
    return count 

Editor is loading...
Leave a Comment