안녕하세요. 오늘은 견학을 갈 거예요.
https://www.acmicpc.net/problem/30405
전시를 관람할 때 처음과 끝만 보면 됩니다.
이 값들을 다 모으면 2N개가 됩니다.
이중에서 정답이 있습니다. 백준 중앙값 문제에 따라서 정렬한 뒤 중앙값 (근데 더 작은값)이 정답이 됩니다. 그래서 (2N-1)/2인 N-1이 정답이 됩니다.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false); cin.tie(NULL);
int N, M, i, j, x, k;
vector <int> num;
cin >> N >> M;
for (i = 0; i < N; i++)
{
cin >> k;
for (j = 1; j <= k; j++)
{
cin >> x;
if (j == 1 || j == k) num.push_back(x);
}
}
sort(num.begin(), num.end());
cout << num[N - 1];
}
감사합니다.