[BOJ 30405] 박물관 견학
View as PDF
Submit solution
Points:
3
Time limit:
2.0s
Memory limit:
1G
Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
$N$마리의 아기 고양이들은 박물관 견학을 가게 되어, 어떤 순서로 전시를 관람할지에 대한 계획을 세웠다. 박물관은 일렬로 전시관이 $M$개 붙어 있는 형태이며, 왼쪽으로부터 $i$번째 전시관에서는 전시 $i$를 진행하고 있다. $(1 \le i \le M)$</p>
모든 아기 고양이들은 출입구를 통해서 입장한 뒤, 자신이 원하는 순서대로 전시를 관람하고 난 뒤 다시 출입구를 통해 퇴장한다. $i$번째 전시관과 $j$번째 전시관 사이 이동 거리는 $|j - i|$로 계산한다.

박물관 관장인 춘배는 $M$개 전시관 중 하나에 아기 고양이들을 위한 출입구를 설치하려고 한다. 춘배는 모든 아기 고양이들의 이동 거리의 합이 최소가 되는 지점에 출입구를 설치하고 싶지만, 박물관의 크기가 커서 설치 위치를 정하는 데 어려움을 겪고 있다.
$N$마리의 아기 고양이들의 전시 관람 계획이 주어졌을 때, 출입구를 설치할 위치를 계산해 주는 프로그램을 만들어 보자.
입력 형식
첫 번째 줄에 $N$과 $M$이 공백을 사이에 두고 주어진다. $(2 \le N, M \le 200\,000)$</p>
두 번째 줄부터 $N$개의 줄에 걸쳐 고양이들의 박물관 관람 계획이 주어진다. 각 계획은 다음과 같은 형태로 한 줄에 주어진다.
- $k\ p_1\ p_2\ \cdots\ p_k$: 고양이가 출입구를 통해 들어온 후, $p_1, p_2, \cdots, p_k$ 순서대로 전시를 관람하고 다시 출입구를 통해 나간다. $(2 \le k \le 10$, $1 \le p_i \le M)$
출입구를 설치할 전시관 번호를 출력한다. 가능한 지점이 여러 곳일 경우 번호가 가장 작은 곳을 출력한다.
예제 입력
3 5
3 1 2 4
3 3 4 2
3 3 5 4
예제 출력
3
Comments