만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

보물 상자

시간 제한2초메모리 제한1024 MB

요약
N개의 구간 중 정확히 i개를 골라 합집합에 포함되는 서로 다른 정수의 개수가 최대가 되는 값을 i=1부터 K까지 각각 구합니다.
난이도

보통10점 중 7점

유형
동적 계획법, 세그먼트 트리, 정렬
정답자
아직 제출이 없습니다

문제

여러분은 보물 지도를 열심히 분석해서 마침내 보물이 숨겨진 동굴에 도달하는 데 성공했다.

지금 여러분의 눈앞에는 보물이 담겨 있는 NN개의 상자가 있다. 이 중 ii번째 상자에는 L_i,L_i+1,…,R_i−1,R_iL\_i, L\_i + 1, \dots, R\_i - 1, R\_i번 보물이 담겨 있다. 여러분은 수많은 보물 상자 중, 몇 개의 상자만을 골라 그 안에 있는 보물들을 모두 가져가고자 한다.

11 이상 KK 이하의 모든 정수 ii에 대해, 보물 상자를 정확히 ii개 골랐을 때 들고 갈 수 있는 서로 다른 번호를 가진 보물 개수의 최댓값을 구해보자.

입력

첫째 줄에 두 정수 NN과 KK가 공백을 사이에 두고 주어진다. (1≤N≤100 000(1 \le N \le 100\ 000; 1≤K≤min⁡(N,300))1 \le K \le \min(N, 300))

다음 NN개의 줄에 두 정수 L_i,R_iL\_i, R\_i가 공백을 사이에 두고 주어진다. (1≤L_i≤R_i≤109)(1 \le L\_i \le R\_i \le 10^{9})

출력

KK개의 줄에 걸쳐 한 줄에 하나씩 답을 출력한다. ii번째 줄에는 ii개의 보물 상자를 골랐을 때 들고 갈 수 있는 서로 다른 번호를 가진 보물 개수의 최댓값을 출력한다.

예제1

  1. 예제 1

    입력
    4 3
    1 23
    41 41
    10 29
    26 36
    
    예상 출력
    23
    34
    36