
N과 M이 큰 값에 따라 움직여야하는 배열이 다르기 때문에 조건을 두개로 찢었다.
만약 N > M인 경우라면 B 배열을 움직여야하고, N < M이라면 A 배열을 움직여야한다.
이중 for문을 이용해서 인덱스 순서를 맞춰주면 되는 간단한 문제였다.
T = int(input())
for tc in range(1, T+1):
N, M = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))
result = []
if N > M:
for i in range(0, N - M + 1):
value = 0
for j in range(M):
value += A[j+i] * B[j]
result.append(value)
else:
for i in range(0, M - N + 1):
value = 0
for j in range(N):
value += A[j] * B[j+i]
result.append(value)
print(f'#{tc} {max(result)}')
