알고리즘 공부

백준 1026번 보물

빵어 2023. 3. 3. 20:29
#include <iostream>
#include <algorithm>
using namespace std;

int main() {
	int n = 0;
	cin >> n;

	int* a = new int[n];
	int* b = new int[n];

	for (int i = 0; i < n; ++i)
		cin >> a[i];
	for (int i = 0; i < n; ++i)
		cin >> b[i];

	sort(a, a + n);
	sort(b, b + n, greater<>());

	int result = 0;
	for (int i = 0; i < n; ++i) {
		result += a[i] * b[i];
		//cout << a[i] << " " << b[i] << endl;
	}

	cout << result;

	delete[] a, b;
	
	return 0;
}

 

b는 정렬하지 말래서 정렬 안하고 풀다가 시간 많이 잡아먹은 문제.. 그냥 정렬해도 답 나오는 건 문제가 없었다

 

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

 

1026번: 보물

첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거

www.acmicpc.net