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

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

테스트 데이터 분석

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

요약
각 원소가 주어진 구간 안에 드는 길이 N 배열 중 최대 구간합이 D와 같은 경우를 1,000,000,007로 나눈 나머지로 셉니다.
난이도

어려움10점 중 8점

유형
동적 계획법, 누적 합, 조합론
정답자
아직 제출이 없습니다

문제

길이 NN인 정수 배열 XX에서, 연속한 부분 배열 중 원소 합이 최대인 값을 최대 부분 배열 합이라 부른다.

각 위치 ii는 Ai≤Xi≤BiA_i \leq X_i \leq B_i를 만족해야 한다. 최대 부분 배열 합이 정확히 DD가 되는 서로 다른 배열 XX의 개수를 1,000,000,0071{,}000{,}000{,}007로 나눈 나머지를 출력하라.

입력

첫 줄에 테스트 케이스 수 TT가 주어진다.

각 테스트 케이스의 첫 줄에는 NN과 DD (1≤N≤10001 \leq N \leq 1000, −1000≤D≤1000-1000 \leq D \leq 1000)가 공백으로 구분되어 있다.

다음 NN줄의 ii번째 줄에는 AiA_i, BiB_i (−1000≤Ai≤Bi≤1000-1000 \leq A_i \leq B_i \leq 1000)가 주어진다.

출력

각 테스트 케이스마다 조건을 만족하는 배열의 개수를 1,000,000,0071{,}000{,}000{,}007로 나눈 나머지를 한 줄에 출력한다.

힌트

N=3N = 3, D=3D = 3, 모든 구간이 [−1,2][-1, 2]일 때 답은 12이다.

예제4

  1. 예제 1

    입력
    2
    3 3
    -1 2
    -1 2
    -1 2
    5 3
    -1 5
    -2 3
    -4 5
    -2 3
    -2 6
    
    예상 출력
    12
    1897
    
  2. 예제 2

    입력
    1
    1 0
    0 0
    
    예상 출력
    1
    
  3. 예제 3

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

    입력
    1
    2 -1
    -1 -1
    -1 -1
    
    예상 출력
    1