문제접근
•
A의 최소와 B의 최대를 곱하면 최소의 결과값을 얻을 수 있음
놓쳤던 부분
코드
2024 KB
0 ms
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main(void)
{
int N;
int answer = 0;
vector<int> A;
vector<int> B;
cin >> N;
A.resize(N);
B.resize(N);
for (int i = 0; i < N; i++)
cin >> A[i];
for (int i = 0; i < N; i++)
cin >> B[i];
sort(A.begin(), A.end());
sort(B.begin(), B.end(), greater<>());
for (int i = 0; i < N; i++)
{
answer += A[i] * B[i];
}
cout << answer;
return (0);
}
C++
복사