본문 바로가기

백준/실버

[백준 18310번] 안테나 (C++)

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

 

18310번: 안테나

첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다.

www.acmicpc.net

#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define MAX 987654321
#define pii pair <int, int>

int arr[200001];

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

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

    int mid = (N-1)/2;

    cout << arr[mid];  //정렬하고 가운데값 출력

    return 0;
}

정렬을 하고 가운데 값을 출력하면된다.

N이 짝수일 경우에는 선택지가 가운데 2가지인데, 문제에서 인덱스 값이 적은 것을 출력하라고 했으므로 앞에 값을 출력해준다.