아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

상자 포장

시간 제한1초메모리 제한256 MB

요약
순서쌍으로 주어진 n개의 상자 중에서 두 좌표가 모두 비감소하는 체인 k개 이하로 나눌 수 있는 최대 개수를 구한다.
난이도

어려움10점 중 8점

유형
동적 계획법, 정렬, 그리디, 이분 탐색
정답자
아직 제출이 없습니다

문제

정수 순서쌍 (x,y)(x, y)를 상자라고 부른다. 상자의 수열 (c1,d1), (c2,d2), …, (cm,dm)(c_1, d_1),\ (c_2, d_2),\ \ldots,\ (c_m, d_m)이 다음 부등식을 만족하면 사슬이라고 부른다. c1≤c2≤…≤cm,d1≤d2≤…≤dm.c_1 \le c_2 \le \ldots \le c_m , \quad d_1 \le d_2 \le \ldots \le d_m \text{.}

nn개의 상자 (a1,b1), (a2,b2), …, (an,bn)(a_1, b_1),\ (a_2, b_2),\ \ldots,\ (a_n, b_n)가 주어진다. 이 중에서 상자를 골라 kk개 이하의 사슬로 나눌 때, 고를 수 있는 상자의 최대 개수를 구하여라. 사슬을 만들기 위해 상자의 순서를 바꿀 수 있다.

입력

첫째 줄에 두 정수 nn과 kk가 주어진다. (1≤n≤1051 \le n \le 10^5, 1≤k≤1001 \le k \le 100)

다음 nn개 줄의 ii번째 줄에는 두 정수 aia_i와 bib_i가 주어진다. (1≤ai, bi≤1091 \le a_i,\ b_i \le 10^9)

출력

정수 하나를 출력한다. 이는 정답이다.

예제2

  1. 예제 1

    입력
    4 1
    2 2
    4 2
    3 4
    5 5
    
    예상 출력
    3
    
  2. 예제 2

    입력
    4 2
    2 2
    4 2
    3 4
    5 5
    
    예상 출력
    4