-
[SWEA] 1959. 두 개의 숫자열 c++Coding Test/SW Expert Academy 2022. 11. 18. 09:50728x90
- 문제
※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
N 개의 숫자로 구성된 숫자열 Ai (i=1~N) 와 M 개의 숫자로 구성된 숫자열 Bj (j=1~M) 가 있다.서로 마주보는 숫자들을 곱한 뒤 모두 더할 때 최댓값을 구하라.
위 예제의 정답은 아래와 같이 30 이 된다.
- 문제 해결
#include<iostream> #include <vector> #include <algorithm> using namespace std; int main(int argc, char** argv) { int test_case; int T; cin>>T; for(test_case = 1; test_case <= T; ++test_case) { int n = 0, m = 0; cin >> n >>m; vector<int> A(n, 0), B(m,0); for(int i = 0; i < n; i++){ cin >> A[i] ; } for(int i = 0; i < m; i++){ cin >> B[i]; } if( n < m){ vector<int> C; C = A; A = B; B = C; } n = A.size(); m = B.size(); int result = INT8_MIN; for(int i = 0; i <= n-m; i++){ int sum = 0; for(int j = 0; j < m; j++){ sum += A[j + i] * B[j]; } result = max(result, sum); } cout << "#" << test_case << " " << result << endl; } return 0; }
728x90'Coding Test > SW Expert Academy' 카테고리의 다른 글
[SWEA] 1948. 날짜 계산기 c++ (0) 2022.11.18 [SWEA] 1954. 달팽이 숫자 c++ (0) 2022.11.18 [SWEA] 1961. 숫자 배열 회전 c++ (0) 2022.11.17 [SWEA] 1970. 쉬운 거스름돈 c++ (0) 2022.11.16 [SWEA] 1974. 스도쿠 검증 c++ (0) 2022.11.16