프로그램 명: koi_align
제한시간: 1 초
대한 어린이집에 올해 입학한 어린이들이 놀이터에 한 줄로 서있다. 모든 어린이들에게는 입학할 때 주어진 번호가 있고 모두 옷에 번호표를 달고 있다. 그런데 어린이들은 아직 번호 순서대로 줄 을 잘 서지 못하므로 선생님이 다음과 같은 방법
을 사용해서 번호순서대로 줄을 세우려고 한다.
방법: 줄 서있는 어린이 중 한 명을 선택하여 제 일 앞이나 제일 뒤로 보낸다.
위의 방법을 사용할 때 어린이가 이동해서 빈자리가 생기는 경우에는 빈자리의 뒤에 있는 어린이들 이 한 걸음씩 앞으로 걸어와서 빈자리를 메꾼다.
예를 들어, 5명의 어린이들에게 1부터 5까지의 번호가 주어져 있고, 다음과 같은 순서로 줄서 있다고 하자.
5 2 4 1 3
위 방법을 이용해서 다음과 같이 번호순서대로 줄 을 세울 수 있다.
- 1번 어린이를 제일 앞으로 보낸다.
5 2 4 1 3 → 1 5 2 4 3
- 4번 어린이를 제일 뒤로 보낸다.
1 5 2 4 3 → 1 5 2 3 4
- 5번 어린이를 제일 뒤로 보낸다.
1 5 2 3 4 → 1 2 3 4 5
위의 예에서는 세 명의 어린이를 제일 앞이나 제일 뒤로 보내 번호순서대로 줄을 세웠다. 그리고 두 명 이하의 어린이를 제일 앞이나 제일 뒤로 보 내는 방법으로는 번호순서대로 줄을 세울 수 없다. 그러므로 이 경우에는 최소한 세 명의 어린이를 이동하여야 번호순서대로 줄을 세울 수 있다.
이 문제는 처음에 줄서있는 상태에서 위 방법을 이용해서 번호순서대로 줄을 세울 때 앞이나 뒤로 보내는 어린이 수의 최솟값을 찾는 것이다.
수행 시간은 1초를 넘을 수 없다. 부분점수는 없다.
입력
입력은 2 개의 줄로 이루어져 있다.
- 첫 줄에는 어린이 수를 나타내는 정수가 주어진다.
- 둘째 줄에는 처음에 줄서있는 어린이들의 번호가 차례대로 주어진다. 주어진 번호들 사이에는 공백이 하나씩 들어있다.
단, 어린이 수는 1이상 1,000,000이하의 정수로 제한되고, 어린이 수가 N 이면 어린이들의 번호는 1부터 N 까지의 정수이다.
출력
입력에서 주어진 어린이들의 줄에 대해 번호순서대로 줄을 세우기 위해 제일 앞이나 제일 뒤로 보내는 어린이 수의 최솟값을 출력해야 한다.
입출력 예
입력
5
5 2 4 1 3
출력
3
출처:2013 koi 초등 지역본선 4/5
대회 풀이
[질/답]
[제출 현황]
[푼 후(1)]