Logo
(追記) (追記ここまで)

30644번 - 띠 정렬하기

시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB20717014784.000%

문제

숫자가 적힌 종이로 된 띠가 있다. 띠에는 N개의 서로 다른 수가 적혀 있다.

이때, 이 띠에 적힌 수 사이에 가위질을 하여 하나의 띠를 여러개의 띠로 분리할 수 있으며, 여러개의 띠가 있을 때 각 띠간의 순서를 자유롭게 바꿀 수 있다.

또한, 각 띠에 대해 띠에 적힌 수를 모두 지우고 원래 적혀있던 수의 역순으로 수를 적을 수 있다.

띠에 적힌 수가 주어질 때, 띠에 적힌 수를 왼쪽부터 오름차순으로 정렬된 상태로 표시하기 위해 필요한 최소한의 가위질 횟수를 구하는 프로그램을 작성하시오.

입력

첫 번째 줄에 띠에 적힌 수의 개수 N이 주어진다.

두 번째 줄에 왼쪽부터 순서대로 띠에 적힌 수 a1, a2, … aN이 주어진다.

출력

띠에 적힌 수들을 왼쪽부터 오름차순으로 표시하기 위해 필요한 가위질 횟수의 최솟값을 출력한다.

제한

  • 2 ≤ N ≤ 200,000
  • 1 ≤ ai ≤ 109
  • 띠에 적혀있는 수들은 모두 다른 수이다.

예제 입력 1

7
94 14 9 54 4 8 60

예제 출력 1

4

그림과 같이 4번의 가위질을 하면 수를 정렬할 수 있다.

예제 입력 2

5
44 39 14 7 2

예제 출력 2

0

가위질 없이도 띠의 숫자를 역순으로 변경시켜 정렬된 상태로 만들 수 있다.

힌트

출처

University > 인하대학교 > 2023 IGRUS Newbie Programming Contest G번

(追記) (追記ここまで)

출처

대학교 대회

  • 사업자 등록 번호: 541-88-00682
  • 대표자명: 최백준
  • 주소: 서울시 서초구 서초대로74길 29 서초파라곤 412호
  • 전화번호: 02-521-0487 (이메일로 연락 주세요)
  • 이메일: contacts@startlink.io
  • 통신판매신고번호: 제 2017-서울서초-2193 호

AltStyle によって変換されたページ (->オリジナル) /