Skip to content

Commit

Permalink
[Silver IV] Title: 보물, Time: 36 ms, Memory: 31120 KB -BaekjoonHub
Browse files Browse the repository at this point in the history
  • Loading branch information
boyamie committed Jul 15, 2024
1 parent fbb187a commit 6b9767b
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 0 deletions.
36 changes: 36 additions & 0 deletions 백준/Silver/1026. 보물/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
# [Silver IV] 보물 - 1026

[문제 링크](https://www.acmicpc.net/problem/1026)

### 성능 요약

메모리: 31120 KB, 시간: 36 ms

### 분류

그리디 알고리즘, 수학, 정렬

### 제출 일자

2024년 7월 15일 15:30:42

### 문제 설명

<p>옛날 옛적에 수학이 항상 큰 골칫거리였던 나라가 있었다. 이 나라의 국왕 김지민은 다음과 같은 문제를 내고 큰 상금을 걸었다.</p>

<p>길이가 N인 정수 배열 A와 B가 있다. 다음과 같이 함수 S를 정의하자.</p>

<p style="text-align: center;">S = A[0] × B[0] + ... + A[N-1] × B[N-1]</p>

<p>S의 값을 가장 작게 만들기 위해 A의 수를 재배열하자. 단, B에 있는 수는 재배열하면 안 된다.</p>

<p>S의 최솟값을 출력하는 프로그램을 작성하시오.</p>

### 입력

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

### 출력

<p>첫째 줄에 S의 최솟값을 출력한다.</p>

11 changes: 11 additions & 0 deletions 백준/Silver/1026. 보물/보물.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
import sys
input = sys.stdin.readline
n = int(input())
res = 0
a_lst = list(map(int, input().split()))
b_lst = list(map(int, input().split()))
a_lst.sort()
b_lst.sort(reverse=True)
for i in range(n):
res += a_lst[i]*b_lst[i]
print(res)

0 comments on commit 6b9767b

Please sign in to comment.