import sys
input = sys.stdin.readline
n = int(input())
a = list(map(int,input().split()))
b = list(map(int,input().split()))
a.sort()
result = []
for i in range(n):
result.append(a[i]*max(b))
b.pop(b.index(max(b)))
print(sum(result))
# B를 정렬하지 않아야 하니 A를 정렬시켜 B의 가장 큰 값을 A의 가장 작은 값과 곱해 리스트에 넣어주고 이미 사용한 MAX(B)의 값을 POP해줘서 다음 A의 가장 작은 값과 B의 가장큰 값을 곱해 리스트에 넣어 최종적으로 리스트를 합해주는 방법으로 진행한다.
'문제풀이 > 백준(Boj) 문제풀이' 카테고리의 다른 글
[백준][그리디 알고리즘] 10162. 전자레인지 (파이썬/Python) (0) | 2021.09.30 |
---|---|
[백준][그리디 알고리즘] 5585. 거스름돈(파이썬/Python) (0) | 2021.09.30 |
[백준][수학/문자열/정렬] 1755. 숫자놀이 (파이썬/Python) (0) | 2021.09.30 |
[백준][DFS/BFS] 1260. DFS와 BFS (파이썬/Python) (0) | 2021.09.28 |
[백준][정수론 및 조합론] 1676. 팩토리얼 0의 개수 (파이썬/Python) (0) | 2021.09.28 |