https://www.acmicpc.net/problem/20044
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 |