문제
어느 합숙의 마지막 날, 합숙의 참가자
집합 사진은 계단 위에 나란히 촬영한다. 이 계단은 단지
얼마 지나지 않아 촬영이 진행되고 있으며 각 단계에 참가자가 서 있습니다. 현재 단계
그러나 너무 많은 참가자의 키가 너무 다르기 때문에 이 순서로 사진에 나타나지 않는 참가자가 있을 수 있다. 그래서 당신은 참가자의 위치를 정렬하고 적어도 모든 사람의 머리의 상단이 찍히기를 원한다.
즉, 다음 조건이 충족되도록 하고 싶다.
• 스테이지
다만, 당신은 이웃하는 참가자의 위치를 바꿀 수밖에 없다. 즉,
가능한 한 적은 횟수로 이 작업을 수행하여 조건이 충족되도록 하십시오.
현재 참가자의 정렬 순서가 주어지면 필요한 조작 횟수의 최솟값을 찾는 프로그램을 작성하시오.
입력
입력은 다음 형식으로 표준 입력에서 제공됩니다. 입력 된 모든 값은 정수이다.
[제약]
•
•
•
출력
필요한 조작 횟수의 최소값을 표준 출력에 한 줄로 출력하라.
부분문제
번호 | 점수 | 조건 |
---|---|---|
#1 | 5점 | |
#2 | 7점 | |
#3 | 32점 | |
#4 | 20점 | |
#5 | 36점 | 추가 제약이 없다 |
예제1
5
3 5 2 4 1
3
다음과 같이 조작을 3회 실시함으로써 조건을 만족시킬 수 있다.
• 우선, 2 단계의 참가자와 3 단계의 참가자를 교환한다. 참가자의 신장은 전부터 순서대로 3, 2, 5, 4, 1이 된다.
• 다음으로 4 단계의 참가자와 5 단계의 참가자를 바꿉니다. 참가자의 신장은 전부터 순서대로 3, 2, 5, 1, 4가 된다.
• 마지막으로 3 단계의 참가자와 4 단계의 참가자를 바꿉니다. 참가자의 신장은 전부터 순서대로 3, 2, 1, 5, 4가 되어,
조건을 만족한다.
2회 이하의 조작으로 조건을 만족하는 상태로 할 수 없기 때문에 3을 출력한다.
예제2
5
3 2 1 5 4
0
예제3
9
6 1 3 4 9 5 7 8 2
9