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

33886번 - 카드 뭉치

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

문제

앞면에 양의 정수가 적혀 있는 $N$장의 카드 뭉치가 있다. 처음에 카드는 앞면이 위로 보이도록 일렬로 나열되어 있고, 왼쪽에서 $i$번째 카드에 적혀있는 정수는 $A_i$이다.

여러분은 아래의 규칙에 따라 카드 뭉치를 나눠 여러 개의 카드 뭉치로 만들어야 한다.

  • 카드 뭉치를 나눌 때는 연속된 구간 단위로 분할하여 나눠야 한다.
  • 카드 뭉치 내 카드의 순서는 바꿀 수 없다.
  • 각 카드 뭉치에 속한 카드의 개수는 카드 뭉치의 가장 왼쪽에 있는 카드에 적힌 수보다 작거나 같아야 한다.
  • 모든 카드는 정확히 하나의 카드 뭉치에 속해야 한다.

예를 들어 카드 뭉치에 4ドル$장의 카드가 있고 왼쪽부터 카드에 2ドル,ドル 3ドル,ドル 1ドル,ドル 1ドル$이 적혀 있다고 하자. 위의 규칙에 따라 $[2, 3], [1], [1]$ 또는 $[2], [3, 1, 1]$로 카드 뭉치를 나눌 수 있지만 $[2, 1], [3, 1]$ 또는 $[2, 3, 1], [1]$로는 나눌 수 없다.

위의 규칙을 만족하면서 카드 뭉치의 개수가 최소가 되도록 나눴을 때, 그 개수를 구해보자.

입력

첫 번째 줄에 카드의 수 $N$이 주어진다. $(1 \leq N \leq 3\ 000)$

두 번째 줄에 각 카드에 적힌 양의 정수가 공백으로 구분되어 주어진다. $i$번째 정수는 왼쪽에서 $i$번째 카드에 적힌 정수를 의미한다. $(1 \leq A_i \leq N)$

출력

문제의 규칙을 만족하면서 카드 뭉치의 개수가 최소가 되도록 나눴을 때, 그 개수를 출력한다.

제한

예제 입력 1

4
2 3 1 1

예제 출력 1

2

예제 입력 2

5
1 2 3 4 5

예제 출력 2

3

예제 입력 3

6
6 5 4 3 2 1

예제 출력 3

1

힌트

출처

University > 아주대학교 > 2025 아주대학교 프로그래밍 경시대회 APC > Div.1 B번

University > 아주대학교 > 2025 아주대학교 프로그래밍 경시대회 APC > Div.2 D번

University > 아주대학교 > 2025 아주대학교 프로그래밍 경시대회 APC > Open Contest D번

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

출처

대학교 대회

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

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