https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PpoFaAS4DFAUq
오.. 그냥
1) $A_j$와 $B_j$ 중 더 짧은 길이의 숫자열을 판단
2) 긴 길이의 숫자열 기준으로, Index 0부터 넘어가지 않을 때까지 순차적으로 이동하면서 가장 큰 값 찾기
너무 뇌 안쓰고 푸나? 싶어서 시간 초과 날 것 같았는데
통과했군 음음
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 | #include<iostream> #include<vector> using namespace std; int result = -1; int N, M; vector<int> Aj, Bj; vector<bool>CanVisit; int main(int argc, char** argv) { int test_case; int T; cin >> T; for (test_case = 1; test_case <= T; ++test_case) { cin >> N >> M; int temp; // Aj 입력 for (int i = 0; i < N; i++) { cin >> temp; Aj.push_back(temp); } // Bj 입력 for (int i = 0; i < M; i++) { cin >> temp; Bj.push_back(temp); } int N_, M_; vector<int> Aj_, Bj_; if (N < M) { N_ = N; M_ = M; Aj_ = Aj; Bj_ = Bj; } else { N_ = M; M_ = N; Aj_ = Bj; Bj_ = Aj; } for (int index = 0; index <= (M_ - N_); index++) { int temp = 0; for (int j = 0; j < N_; j++) temp += Aj_[j] * Bj_[index + j]; if (result < temp) result = temp; } cout << "#" << test_case << " " << result << "\n"; result = -1; Aj.clear(); Bj.clear(); CanVisit.clear(); } return 0;//정상종료시 반드시 0을 리턴해야합니다. } | cs |
'알고리즘 > SW Expert Academy' 카테고리의 다른 글
[SWEA] 2001. 파리 퇴치 (D2) / C++ (1) | 2023.11.09 |
---|---|
[SWEA] 5215. 햄버거 다이어트 (D3) / C++ (0) | 2023.11.07 |
[SWEA] 1206. [S/W 문제해결 기본] 1일차 - View (D3) / C++ (1) | 2023.11.01 |
[SWEA] 1859. 백만장자 프로젝트 (D2) / C++ (0) | 2023.11.01 |
[SWEA] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기(D2) / C++ (0) | 2023.11.01 |