알고리즘

C++ 알고리즘 - 백준 1026 보물

마루설아 2025. 2. 21. 10:19

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

 

#include <bits/stdc++.h>
#define endl "\n"

using namespace std;

/******** 전역변수 ********/


/******** 함    수 ********/


int main(void) {
	/******** C++ INIT ********/
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);

	/******** 지역변수 ********/
	int input1;
	int input2;
	int sum = 0;
	vector<int> v1;
	vector<int> v2;

	/******** 구    현 ********/
	cin >> input1;

	// A 배열 삽입
	for (int i = 0; i < input1; i++) {
		cin >> input2;
		v1.push_back(input2);
	}

	// B 배열 삽입
	for (int i = 0; i < input1; i++) {
		cin >> input2;
		v2.push_back(input2);
	}

	// A, B 각각 정렬
	sort(v1.begin(), v1.end());
	sort(v2.begin(), v2.end());

	// A 배열의 가장 최소값과 B 배열의 가장 최대값을 순서대로 곱한다
	for (int i = 0, j = input1 - 1; i < input1; i++, j--) {
		sum += v1[i] * v2[j];
	}

	cout << sum;
}