50 lines
897 B
Python
50 lines
897 B
Python
import sys
|
|
input = sys.stdin.readline
|
|
|
|
T = int(input())
|
|
n, A = int(input()), list(map(int, input().split()))
|
|
m, B = int(input()), list(map(int, input().split()))
|
|
|
|
sumA = []
|
|
for i in range(n) :
|
|
currentSum = 0
|
|
for a in A[i:] :
|
|
currentSum += a
|
|
sumA.append(currentSum)
|
|
|
|
sumB = []
|
|
for i in range(m) :
|
|
currentSum = 0
|
|
for b in B[i:] :
|
|
currentSum += b
|
|
sumB.append(currentSum)
|
|
|
|
sumA.sort()
|
|
sumB.sort()
|
|
|
|
L, R = 0, len(sumB) - 1
|
|
ans = 0
|
|
|
|
while L < len(sumA) and R >= 0 :
|
|
a, b = sumA[L], sumB[R]
|
|
|
|
if a + b == T:
|
|
na = 0
|
|
while L < len(sumA) and a == sumA[L] :
|
|
L += 1
|
|
na += 1
|
|
|
|
nb = 0
|
|
while R >= 0 and b == sumB[R] :
|
|
R -= 1
|
|
nb += 1
|
|
|
|
ans += na*nb
|
|
|
|
else :
|
|
if a + b > T :
|
|
R -= 1
|
|
else :
|
|
L += 1
|
|
|
|
print(ans) |