설명
선생님이 아보가드로 법칙을 설명하는 동안, Luka는 화학 시간에 또 딴짓을 하고 있다.
Luka는 먼저 \(3\)행 \(N\)열의 표를 그렸다. 그런 다음 첫 행에 \(1\)부터 \(N\)까지의 수를 임의의 순서로, 각 수가 정확히 한 번씩 나타나도록 적었다. 나머지 두 행에도 \(1\) 이상 \(N\) 이하의 정수를 적었는데, 각 수가 몇 번 나오는지는 신경 쓰지 않았다.
이제 Luka는 표에서 열들의 집합을 아무거나 골라 지울 수 있다. 그렇게 한 뒤 각 행의 수들을 오름차순으로 정렬한다.
그는 정렬 후 세 행이 모두 같아지는 표를 얻고 싶다. 지워야 하는 열의 최소 개수를 구하는 프로그램을 작성하시오.
제약
입력 형식
입력의 첫째 줄에 표의 열 수인 정수 \(N\) (\(1 \le N \le 100\,000\))이 주어진다.
다음 세 줄에 각각 공백 하나로 구분된 정수 \(N\)개가 주어진다. 수들은 \(1\) 이상 \(N\) 이하이며, 첫 행에는 중복이 없다.
출력 형식
Luka가 지워야 하는 열의 최소 개수를 출력한다.
채점: 전체 점수의 \(40\%\)에 해당하는 테스트 케이스에서는 \(N\)이 \(100\)보다 작다. 전체 점수의 \(70\%\)에 해당하는 테스트 케이스에서는 \(N\)이 \(10\,000\)보다 작다.
서브태스크
| 서브태스크 | 점수 | 설명 |
|---|---|---|
Subtask 1 | 60점 |
예제 1
입력
7
5 4 3 2 1 6 7
5 5 1 1 3 4 7
3 7 1 4 5 6 2출력
4예제 2
입력
9
1 3 5 9 8 6 2 4 7
2 1 5 6 4 9 3 4 7
3 5 1 9 8 6 2 8 7출력
2문제 정보
태그