Починка массива
면접 대비시간 제한2초메모리 제한1024 MB
배열의 원소를 맨 앞이나 맨 뒤로 옮기는 연산만 사용해 배열을 정렬할 때 필요한 최소 연산 횟수를 구한다.
문제
У Уолтера Беккета был замечательный отсортированный массив, однако, после множества экпериментов произошло непредвиденное: а именно, массив перестал быть отсортированным!
Казалось бы, что сложного в том, чтобы отсортировать массив? Но Уолтер и здесь решил провести эксперимент. Он хочет отсортировать массив используя только две операции:
- Взять любой элемент массива и переместить его в конец массива.
- Взять любой элемент массива и переместить его в начало массива.
Таким образом, если массив изначально содержал элементы и был выбран -й элемент, то если применить первую операцию, массив станет выглядеть как , а в случае применения второй операции --- как .
Оказалось, что с помощью этих двух операций всегда можно отсортировать массив, что Уолтер и сделал со своим массивом. Но теперь Уолтер дал вам новый массив и попросил найти наименьшее количество таких операций, необходимых, чтобы отсортировать новый массив.
입력
В первой строке содержится одно целое число --- длина массива, который вам дал Уолтер ().
Во второй строке заданы целых чисел , разделенных пробелами --- элементы массива ().
출력
Выведите единственное число --- минимальное число операций, которые нужно применить к данному массиву, чтобы он стал отсортированным.
힌트
В первом тесте можно переставить в начало, а затем в начало и массив будет отсортирован за две операции.
Во втором тесте можно оставить на месте, а все остальные элементы по очереди переставить в начало. А можно оставить на месте, а все остальные элементы переставить в конец. В обоих случаях придется потратить минимум четыре операции.
В третьем тесте достаточно переставить в начало, а в конец. Итого две операции.