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

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

요청

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

요약
용량 K인 캐시와 만료 시간이 있는 N개의 요청이 주어질 때, 모든 오프라인 교체 전략 중 최소 적재 횟수를 구한다.
난이도

보통10점 중 7점

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

문제

크기가 모두 같은 객체들의 모임과, 최대 KK개의 객체를 담을 수 있는 캐시, 그리고 NN개의 요청으로 이루어진 수열이 주어진다. 각 요청은 하나의 객체를 요구하며, 그 객체가 언제까지(그 시각 포함) 유효한지를 나타내는 만료 시각을 함께 가진다.

시각은 11에서 시작하여 매 요청마다 11씩 증가하므로, ii번째 요청은 시각 ii에 일어난다.

이미 캐시에 있고 아직 만료되지 않은 객체에 대한 요청은 비용 없이 처리된다. 요청한 객체가 캐시에 없거나, 캐시에 있더라도 만료되었다면 비용 11을 들여 캐시로 가져와야 한다. 아직 유효한 객체의 만료 시각만 갱신하는 것은 비용이 들지 않는다.

이미 가득 찬 캐시에 객체를 가져와야 할 때는, 교체 알고리즘이 현재 캐시에 있는 객체 중 하나를 골라 내보내 새 객체가 들어갈 자리를 만든다. 캐시는 처음에 비어 있다.

모든 요청은 미리 알려져 있다. 가능한 모든 교체 전략 중에서 총비용이 가장 작은 것을 찾아, 그 최소 비용을 출력하라.

입력

첫째 줄에 캐시 용량을 나타내는 정수 KK가 주어진다(6≤K≤1006 \le K \le 100).

둘째 줄에 요청의 개수를 나타내는 정수 NN이 주어진다(6≤N≤10006 \le N \le 1000).

다음 NN개의 줄에는 각각 두 정수 PP와 QQ가 주어진다. PP는 요청한 객체이고, QQ는 그 객체의 만료 시각(절대 시각, 그 시각 포함)이다.

요청은 주어진 순서대로 처리되며, 첫 요청은 시각 11에 일어나고 매 요청 후 절대 시각이 11씩 증가한다.

출력

한 개의 정수를 출력한다. 최적의 교체 알고리즘이 수행하는 가져오기 횟수, 즉 최소 총비용이다.

예제3

  1. 예제 1

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

    입력
    6
    6
    1 1000
    1 1000
    1 1000
    1 1000
    1 1000
    1 1000
    
    예상 출력
    1
    
  3. 예제 3

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