这个用数组检验很巧妙
def soul(k,nums):
l=0
sums=0
rec=0
temp=0
dir_s={0:-1}
for i in range(len(nums)):
sums+=nums[i]
if sums not in dir_s:
dir_s[sums]=i
if sums-k in dir_s:
rec=max(rec,i-dir_s[sums-k])
return rec
n,k=map(int,input().split())
nums=list(map(int,input().split()))
print(soul(k,nums))