https://www.acmicpc.net/problem/20044
20044번: Project Teams
입력은 표준입력을 사용한다. 입력의 첫 번째 행에는 팀 수를 나타내는 양의 정수 n(1 ≤ n ≤ 5,000)이 주어진다. 그 다음 행에 학생 si 의 코딩 역량 w(si)를 나타내는 2n개의 양의 정수가 공백으로
www.acmicpc.net
N*2만큼 팀원이 있으므로 N은 항상 짝수이다.
처음에 정렬을 N만큼 해서 틀렸는데 팀이 N개 팀원이 N*2만큼 있으므로, 정렬을 2*N만큼 해줘야 맞을 수 있었다.
#include <iostream>
#include <algorithm>
using namespace std;
int min(int a,int b){
if(a<b){
return a;
}
else{
return b;
}
}
bool visited[11001];
int main(void){
int arr[11001];
int n;
cin >> n;
int value = 987654321;
for(int i = 0;i<n*2;i++){
cin >> arr[i];
}
//정렬을 2*n만큼 해줘야 함
/*2*n만큼 돌면서 left,right,value값 갱신 */
sort(arr,arr+2*n);
for(int i = 0;i<n*2;i++){
int left = i;
int right = n*2 - i - 1;
if(visited[left] == false && visited[right] == false){
visited[left] = true;
visited[right] = true;
value = min(value,arr[left]+arr[right]);
}
}
cout << value;
}
'자료구조' 카테고리의 다른 글
백준 5639 이진 검색 트리 C++ (0) | 2022.12.18 |
---|---|
백준 15926 현욱은 괄호왕이야!! C++ (0) | 2022.08.24 |
백준 1991 트리 순회 C++ (0) | 2022.06.03 |
백준 23056 참가자 명단 C++ (0) | 2022.06.01 |
백준 수 정렬하기 3 (0) | 2022.05.20 |