알고리즘/BOJ

[BOJ 20044, Python 3] Project Teams

70825 2021. 9. 8. 18:17
반응형

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

 

20044번: Project Teams

입력은 표준입력을 사용한다. 입력의 첫 번째 행에는 팀 수를 나타내는 양의 정수 n(1 ≤ n ≤ 5,000)이 주어진다. 그 다음 행에 학생 si 의 코딩 역량 w(si)를 나타내는 2n개의 양의 정수가 공백으로

www.acmicpc.net

 

풀이

두 명씩 짝지어서 팀을 이루는데 이 팀들의 최솟값이 최대화가 되는게 목적입니다.

유명한 그리디 유형인데, 정렬을 하고 왼쪽에서 i번째 값과 오른쪽에서 i번째 값을 더해주면 최솟값의 합이 최대화가 됩니다.

 

 

코드

1
2
3
4
5
6
= int(input())
= sorted([*map(int, input().split())])
ans = 987654321
for i in range(n):
    ans = min(ans, w[i] + w[-i-1])
print(ans)
cs
반응형