영화
시간 제한1초메모리 제한256 MB
메인 목록에서 최고와 최저 영화를 번갈아 보고 보조 목록에서 영화를 채워 넣어, 메인 목록이 정렬될 때까지의 최소 단계를 구합니다.
문제
영화 감상은 복잡합니다. 가지고 있는 영화를 두 목록으로 나눕니다.
- 주 목록: 편의 영화
- 보조 목록: 편의 영화
영화는 모두 편이며, 각 영화에는 에 속한 서로 다른 정수 평점이 하나씩 있습니다.
다음 알고리즘에 따라 영화를 봅니다.
- 매 단계마다 주 목록에서 영화 하나를 골라 봅니다. 본 영화는 주 목록에서 빠집니다.
- 고르는 영화는 주 목록에 남은 영화 중 최악의 영화와 최고의 영화를 번갈아 골라야 합니다. 첫 번째로 고르는 영화는 최고의 영화입니다. 평점이 가장 낮은 영화가 최악, 가장 높은 영화가 최고입니다.
- 영화를 본 뒤에는 보조 목록에서 영화 하나를 골라 주 목록의 원하는 위치에 넣습니다. 보조 목록이 비면 영화 보기를 멈춥니다. 주 목록의 영화 수는 항상 편입니다.
주 목록을 평점 오름차순으로 정렬하려 합니다. 목록을 직접 고치지는 않습니다. 대신 매 단계에서 어떤 영화를 어디에 넣을지 정해서, 주 목록이 정렬될 때까지의 단계 수를 최소로 만듭니다.
입력
첫째 줄에 두 정수 과 가 주어진다 (, ).
둘째 줄에 주 목록의 개 평점이 주어진다.
셋째 줄에 보조 목록의 개 평점이 주어진다.
주 목록과 보조 목록의 평점을 합하면 집합 와 같다.
출력
주 목록을 정렬하는 데 필요한 최소 단계 수를 한 개의 정수로 출력한다. 불가능하면 을 출력한다.
힌트
첫 단계에서는 남은 영화 중 최고인 평점 5의 영화를 본다. 그다음 보조 목록의 평점 7 영화를 맨 뒤에 넣어 주 목록을 채운다.
두 번째 단계에서는 최악의 영화인 평점 1을 본다. 평점 8 영화를 맨 뒤에 넣는다.
세 번째 단계에서는 남은 최고 영화인 평점 8을 보고, 평점 9 영화를 맨 뒤에 넣는다.
네 번째 단계에서는 남은 최악 영화인 평점 2를 보고, 평점 10 영화를 맨 뒤에 넣는다.
주 목록이 오름차순으로 정렬되었으므로 답은 4이다. 이 예시에서는 모두 맨 뒤에 넣었지만, 영화는 주 목록의 어느 위치에든 넣을 수 있다.