코딩테스트/백준

[백준] 1026번 보물 (C++)

Deff_a 2024. 9. 6. 08:56

문제

https://www.acmicpc.net/problem/1026

풀이

a는 오름차순 b는 내림차순한 후, 0 ~ n 번째까지 곱하여 최소 값을 만들었다.

#include<iostream>
#include<vector>
#include<algorithm>

// https://www.acmicpc.net/problem/1026
using namespace std;

bool cmp(int a, int b) {
	return a > b;
}
int main() {
	int n;
	cin >> n;

	vector<int> a(n);
	vector<int> b(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(), cmp);

	int sum = 0;
	for (int i = 0; i < n; i++) {
		sum += a[i] * b[i];
	}

	cout << sum;

	return 0;
}