2024-10-05-동국대SW역량강화캠프-2709. 배치하기
문제
N개의 정수로 이루어진 배열 A와 B가 주어질 때, X는 아래와 같이 정의된다.
X = A[0]B[0] + … + A[N-1]B[N-1]
배열 A를 적당히 재배열해서 X의 값을 최소값으로 만들려고 한다.
X의 가능한 최소값을 출력해보자.
입력
첫째 줄에는 50 이하의 양의 정수 N이 주어진다.
두번째 줄에는 배열 A가, 세 번째 줄에는 배열 B가 N개의 자연수로 주어진다.
각 자연수는 10^5 이하이다.
출력
첫째 줄에 X의 최솟값을 출력한다.
예제 1 입력
3
3 1 2
1 2 3
예제 1 출력
10
예제 2 입력
5
8 4 5 3 1
4 5 3 1 2
예제 2 출력
47
Source
n = int(input())
a = list(map(int, input().split()))
b = list(map(int, input().split()))
a.sort()
b.sort(reverse = True)
min_sum = 0
for i in range(n):
min_sum += a[i] * b[i]
print(min_sum)