20044 - Project Teams

LeeKyoungChang·2022년 6월 2일
0

Algorithm

목록 보기
135/203
post-thumbnail

📚 20044 - Project Teams

Project Teams

 

이해

공정성을 높이기 위해 팀원 코딩 역량의 합을 최대한 일정하게 유지해야한다.

Sm = min{w(Gi) | 1 ≤ i ≤ n}이 최대화 되도록 한다.

{1, 7, 5, 8}일 때

최대한 일정하게 유지한 결과 9, 12가 나올 수 있다. (1과 8, 5와 7)

이와 같은 규칙을 보면, 정렬을 한 후 i번째배열길이 - i - 1 값을 더하면서, 가장 작은 값을 결과로 출력하면 된다.

 

소스

import sys  
  
read = sys.stdin.readline  
  
n = int(read())  
arr = list(map(int, read().split()))  
  
arr.sort()  
  
answer = float(sys.maxsize)  
  
for i in range(n * 2 // 2):  
    cur_data = arr[i] + arr[2*n - i - 1]  
    if answer > cur_data:  
        answer = cur_data  
  
print(answer)

채점결과

 

profile
"야, (오류 만났어?) 너두 (해결) 할 수 있어"

0개의 댓글