만드는 중입니다

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

두 덮개

면접 대비

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

요약
각 위치 x마다 왼쪽으로 k칸을 덮는 조각과 오른쪽으로 k칸을 덮는 서로 다른 조각이 모두 없는 위치의 개수를 구합니다.
난이도

보통10점 중 4점

유형
배열, 누적 합, 정렬
정답자
아직 제출이 없습니다

문제

대표적인 유전체 조립 문제에서는 조각이라고 부르는 작은 문자열들의 집합이 주어지고, 이들을 모두 포함하면서 적절한 성질을 갖는 상위 문자열을 찾는 것이 목표입니다. 이 문제에서는 그런 상위 문자열 하나와 그 상위 문자열에 정렬된 조각들의 모음이 주어집니다. 여러분의 과제는 그중 한 가지 성질을 평가하는 것입니다.

상위 문자열의 길이 ℓ, 조각의 개수 nn, 정수 kk가 주어집니다. 상위 문자열의 위치는 1부터 ℓℓ까지 번호가 매겨집니다. 각 조각 ii에 대해 시작 위치와 끝 위치 (bi,ei)(b_i, e_i)가 주어집니다.

상위 문자열의 위치 xx에 있는 글자가 다음 두 조건을 만족하면 잘 덮인 글자입니다.

  • bi≤x−kb_i ≤ x − k이고 x≤eix ≤ e_i인 조각 (bi,ei)(b_i, e_i)가 존재한다.
  • bj≤xb_j ≤ x이고 x+k≤ejx + k ≤ e_j인 서로 다른 조각 (bj,ej)(b_j, e_j)가 존재한다.

잘 덮이지 않은 글자의 개수를 구하세요.

입력

첫 줄에는 테스트 케이스의 개수 tt가 주어집니다. 각 테스트 케이스 앞에는 빈 줄이 있습니다.

각 테스트 케이스의 첫 줄에는 세 정수 ℓℓ, nn, kk가 주어집니다. 이어지는 nn개의 줄에는 조각의 양 끝 위치를 나타내는 두 정수 bib_i와 eie_i (1≤bi≤ei≤ℓ1 ≤ b_i ≤ e_i ≤ ℓ)가 주어집니다. 쌍 (bi,ei)(b_i, e_i)는 모두 서로 다릅니다.

출력

각 테스트 케이스마다 잘 덮이지 않은 글자의 개수를 한 줄에 출력합니다.

힌트

잘 덮인 글자는 위치 3, 4, 5에 있습니다. 위치 6의 글자는 잘 덮이지 않았습니다.

예제1

  1. 예제 1

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