https://www.acmicpc.net/problem/20044
20044번: Project Teams
입력은 표준입력을 사용한다. 입력의 첫 번째 행에는 팀 수를 나타내는 양의 정수 n(1 ≤ n ≤ 5,000)이 주어진다. 그 다음 행에 학생 si 의 코딩 역량 w(si)를 나타내는 2n개의 양의 정수가 공백으로
www.acmicpc.net
문제 풀이
코딩 역량이 고르게 분포되기 위해서 정렬을 한 후
(코딩 역량이 가장 높은 학생, 코딩 역량이 가장 낮은 학생) , (코딩 역량이 2번째로 높은 학생, 코딩 역량이 2번째로 낮은 학생) ... 이런식으로 코드를 작성했다
소스 코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> player;
int main() {
int n;
cin >> n;
for (int i = 0; i < 2 * n; i++) {
int a;
cin >> a;
player.push_back(a);
}
sort(player.begin(), player.end());
int max_idx = 2 * n - 1;
int min_num = 999999999;
for (int i = n - 1; i >= 0; i--) {
int j = max_idx - i;
min_num = min(min_num, player[i] + player[j]);
}
cout << min_num << '\n';
}
.
'알고리즘' 카테고리의 다른 글
[백준] 16283번 FARM C++ 문제풀이 (0) | 2023.10.12 |
---|---|
[백준] 20040번 사이클 게임 C++ 문제풀이 (0) | 2023.10.05 |
[백준] 23246번 Sport Climbing Combined C++ 문제풀이 (1) | 2023.10.03 |
[백준] 23247번 Ten C++ 문제풀이 (1) | 2023.09.29 |
[백준] 25953번 템포럴 그래프 C++ 문제풀이 (0) | 2023.09.23 |