1510: 3554: 카드게임

메모리:128 MB 시간:1.000 S 표준 입력 및 출력
문제유형 채점방법:일반 만든사람:
제출:0 통과:0

문제설명


교원이는 친구들과 카드게임을 즐겨한다. 카드게임의 규칙은 다음과 같다.

1. 게임 시작 시, 1명당 총 n장의 숫자 카드를 받는다.

2. 카드는 반드시 받은 순서대로 왼쪽부터 바닥에 놓는다.

3. 자신의 차례가 왔을 때 자신의 카드 중 1장을 버릴 수 있다.

4. 자신의 남은 카드가 가장 먼저 오름차순이 되면 게임의 승자가 된다.

(, 남은 카드에 같은 숫자가 있어서는 안 된다.)

교원이가 받은 숫자 카드가 순서대로 주어졌을 때, 교원이가 버려야하는 카드의 최소 개수를 계산하는 프로그램을 작성하시오.


예를 들어, 받은 숫자 카드가 1, 3, 2, 9, 7, 8, 5, 10 일 때, 게임의 승자가 되려면 3, 9, 5를 버리거나 2, 9, 7, 8을 버리는 등 여러 가지 방법이 있으므로 버려야하는 카드의 최소 개수는 3이다.



입력예시1)
8
1 3 2 9 7 8 5 10

출력예시1)
3

입력조건


1. 첫 행에 카드의 수 n이 주어진다. (, 1n100,000)

2. 둘째 행에 n개의 숫자 카드 정보가 빈 칸으로 구분되어 순서대로 주어진다.

(, 숫자 카드는 100,000 이하의 자연수로 구성되어 있고, 중복될 수 있다.)

출력조건


교원이가 버려야하는 카드의 최소 개수를 출력한다.

입력예시 복사

10
8 9 2 1 4 10 7 6 8 7

출력예시 복사

6

힌트