[BOJ/백준] 1026. 보물 (Python)

장성범·2022년 2월 3일
0

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

Problem

B배열은 고정인 상태에서 A배열만 바꾸어 배열의 곱의 합이 최소를 찾는문제

Solution

B가 고정이니를 중점으로 두면안댐.
결국 고정이어도 A배열을 역소팅, B배열을 소팅해서 곱의 합산이 최소화 되게만 시키면댐

※처음에 직관적으로 B를 고정이라해서, permutations함수를 통해 A의 리스트 조합들을 구해주고 여기서 최소값을 찾아봤는데, 메모리초과가뜸.
머리를 써야했는데.....

Python Code

from itertools import permutations
import sys

N=int(sys.stdin.readline())
A=list(map(int,sys.stdin.readline().split()))
B=list(map(int,sys.stdin.readline().split()))

AList=sorted(A,reverse=True)
BList=sorted(B)


minValue=0
for i in range(0,len(AList)):
    minValue+=AList[i]*BList[i]
print(minValue)

0개의 댓글

관련 채용 정보