백준/그리디

C++ 1026번(보물)

2zreal 2024. 6. 27. 00:07
#include <iostream>
#include <algorithm>

using namespace std;

int arr1[1000];
int arr2[1000];

int main(void)
{
	int a=0;
	cin>>a;
	
	for(int i=0; i<a; i++)
	{
		cin>>arr1[i];
	}
	
	for(int i=0; i<a; i++)
	{
		cin>>arr2[i];
	}
	
	sort(arr1,arr1+a);
	sort(arr2,arr2+a);
	
	int sum=0;
	
	for(int i=0; i<a; i++)
	{
		sum=sum+arr1[i]*arr2[a-1-i];
	}
	
	cout<<sum;
	
	return 0;
}

조금만 생각하면 간단하게 풀 수 있는 문제이다. 가장 큰값과 가장 작은 값을 곱하자!!

'백준 > 그리디' 카테고리의 다른 글

[백준] C++ 12904번(A와 B)  (0) 2024.07.02
[백준] C++ 1744(수 묶기)  (0) 2024.06.29
[백준]C++ 11000(강의실 배정)  (0) 2024.06.29
[백준] C++ 1715(카드 정렬하기)  (0) 2024.06.28
C++ 2217번(로프)  (0) 2024.06.26