문제 링크 : https://www.swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpoFaAS4DFAUq
문제의 저작권은 SW Expert Academy에 있습니다.
#include <iostream> using namespace std; int main(void) { int T, N, M, sum, max; cin >> T; for(int t_case=0; t_case<T; t_case++) { cin >> N >> M; int a[N], b[M]; int *A, *B; for(int i=0; i<N; i++) cin >> a[i]; for(int i=0; i<M; i++) cin >> b[i]; if(N == M) { max = 0; for(int i=0; i<N; i++) max += A[i]*B[i]; } else { if(N <= M) { A = a; B = b; } else { A = b; B = a; int temp = M; M = N; N = temp; } max = -2147483648; for(int i=0; i<=M-N; i++) { sum = 0; for(int j=i; j<N+i; j++) { sum += A[j-i]*B[j]; } if(max < sum) max = sum; } } cout << "#" << t_case+1 << " " << max << "\n"; } return 0; } | cs |
'C & C++ > SW Expert Academy' 카테고리의 다른 글
SWEA 1948 - 날짜 계산기 (0) | 2018.04.28 |
---|---|
SWEA 1954 - 달팽이 숫자 (0) | 2018.04.28 |
SWEA 1961 - 숫자 배열 회전 (0) | 2018.04.28 |
SWEA 1970 - 쉬운 거스름돈 (0) | 2018.04.28 |
SWEA 1974 - 스도쿠 검증 (0) | 2018.04.28 |