티스토리 뷰

PS

백준 20044. Project Teams

tose33 2021. 8. 30. 18:25

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

 

20044번: Project Teams

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

www.acmicpc.net

 

문제는 전체 구성된 전체 팀중 가장 낮은 코딩역량을 갖는 팀의 코딩역량이 최대가 되도록 팀을짜는 것이다.

 

즉 모든 팀이 최대한 균등한 점수가 되도록 짜야 된다는 것이다.

이렇게 되려면 가장 높은 사람과, 가장 낮은 사람이 팀이 되도록 하면 될것이다.

총 10명이 있다면 

1등,10등

2등,9등

3등,8등 ...

 

이런식으로 팀을 팀의 점수가 최대한 균등하게 짜여지고,

이 값중 가장 작은 값을 구하면 된다.

 

 

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

int n;
vector<int> v;

int main()
{
    cin >> n;
    v.resize(n*2);
    for(int i = 0; i < n*2; i++)
        cin >> v[i];

    // 오름차순 정렬
    sort(v.begin(), v.end(), less<>());

    int smallestScore = 999999999;
    for(int i = 0; i < n; i++)
    {
        int score = v[i] + v[n*2-1-i];
        smallestScore = min(smallestScore, score);
    }

    cout << smallestScore;

}

'PS' 카테고리의 다른 글

백준 17521. Byte Coin  (0) 2021.08.31
백준 1461. 도서관  (0) 2021.08.30
백준 1417. 국회의원 선거  (0) 2021.08.30
백준 13164. 행복 유치원  (0) 2021.08.28
백준 2872. 우리집엔 도서관이 있어  (0) 2021.08.28
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/02   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
글 보관함