728x90
※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
728x90
T = int(input())
for test_case in range(1, T + 1):
N, M = map(int, input().split())
#항상 더 긴 배열이 arr2, 짧은 배열이 arr1
if N > M:
arr2 = list(map(int, input().split()))
arr1 = list(map(int, input().split()))
else:
arr1 = list(map(int, input().split()))
arr2 = list(map(int, input().split()))
#모든 경우의 수(|N - M| + 1)를 저장할 배열
mulSum = [0] * (abs(N - M) + 1)
for i in range(abs(N - M) + 1):
for j in range(min(N, M)):
mulSum[i] += arr1[j] * arr2[j + i]
print("#{} {}".format(test_case, max(mulSum)))
728x90
'Problem Solving > SWEA' 카테고리의 다른 글
[SW Expert Academy, SWEA 1948] 날짜 계산기 (python) (1) | 2022.09.07 |
---|---|
[SW Expert Academy, SWEA 1954] 달팽이 숫자 (python) (0) | 2022.09.07 |
[SW Expert Academy, SWEA 1961] 숫자 배열 회전 (python) (0) | 2022.09.07 |
[SW Expert Academy, SWEA 1966] 숫자를 정렬하자 (python) (0) | 2022.09.07 |
[SW Expert Academy, SWEA 1970] 쉬운 거스름돈 (python) (0) | 2022.09.06 |