본문 바로가기

백준/실버

[백준 20044번] Project Teams (C++)

문제링크 : https://www.acmicpc.net/problem/20044

 

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> pii;
const int MAX = INT_MAX;

int N;
int arr[10001];

int main()
{
    ios_base::sync_with_stdio(0); 
	cin.tie(0);

    cin >> N;
    for(int i=0; i<2*N; i++)
    {
        cin >> arr[i];        
    }

    sort(arr, arr+2*N); //정렬

    int score = MAX;
    for(int i=0; i<N; i++)
    {
        score = min(score, arr[i] + arr[2*N-i-1]); //코딩 역량 저장
    }
    
    cout << score;
    return 0;
}

 

2*N 만큼 입력받고, 입력받은 값을 정렬시켜준다.

이후 인덱스를 옮겨가며 배열의 양 끝값을 더해주고 이중 제일 작은 값을 출력하면 된다.