하루하루 꾸준히, 인생은 되는대로

자료구조

백준 20044 Project Teams C++

긤효중 2022. 6. 15. 16:17

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