알고리즘/백준
[백준] 보물 1026번 C++ 풀이
승민아
2022. 5. 7. 05:55
https://www.acmicpc.net/problem/1026
전체 코드
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
vector<int> a;
vector<int> b;
int N;
int main(void)
{
int num;
cin >> N;
for (int i = 0; i < N; i++)
{
cin >> num;
a.push_back(num);
}
for (int i = 0; i < N; i++)
{
cin >> num;
b.push_back(num);
}
sort(a.begin(), a.end());
sort(b.begin(), b.end(), greater<>());
int res = 0;
for (int i = 0; i < N; i++) {
res += a[i] * b[i];
}
cout << res;
}
a는 오름차순, b는 내림차순으로 정렬후
차례대로 곱해주면 그것이 최솟값입니다.