蓝桥杯刷题--python--17-前戳和
1230. K倍区间 - index.php/tags-41973.html" class="superseo">AcWing题库
()# n*n
N,K=map(int,input().split()) A=[0 for _ in range (N)] s_A=[0]*(N+1) res=0 for i in range (N): A[i]=int(input()) for i in range (1,N+1): s_A[i]=s_A[i-1]+A[i-1] for i in range (1,N+1): for j in range (i,N+1): if (s_A[j]-s_A[i-1])%K==0: res+=1 print(res)
# 哈希表优化
()n, k = map(int, input().split()) s=[0]*(n+1) for i in range (1,n+1): s[i]=int(input())
res = 0 cnt = [0] * k cnt[0] = 1 for i in range(1, n + 1): s[i] += s[i - 1] res += cnt[s[i] % k] cnt[s[i] % k] += 1
print(res)
The End