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

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

Faint

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

요약
집합 {1,...,n}의 크기 k 부분집합을 사전순으로 나열했을 때, 주어진 열 m에서 연속한 두 행의 값 차이의 절댓값을 모두 더해 1e9+7로 나눈 나머지를 구한다.
난이도

어려움10점 중 8점

유형
조합론, 수학, 누적 합, 구현
정답자
아직 제출이 없습니다

문제

정수 집합 {1,2,…,n}\{1, 2, \ldots, n\}의 크기 kk인 부분집합을 모두 생각하자. 각 부분집합을 a1<a2<…<aka_1 < a_2 < \ldots < a_k인 a1,a2,…,aka_1, a_2, \ldots, a_k로 쓴다. 이 부분집합들을 사전순으로 한 줄에 하나씩 적어 (nk){n \choose k}개의 행과 kk개의 열로 이루어진 표를 얻는다. ii번째 행의 jj번째 정수를 Ai,jA_{i, j}라 하자.

주어진 열에서 이웃한 두 수의 차의 절댓값의 합을 구해야 한다. 양의 정수 mm (1≤m≤k1 \le m \le k)이 주어질 때, 다음 값을 계산하라. ∑i=1(nk)−1∣Ai,m−Ai+1,m∣.\sum\limits_{i = 1}^{{n \choose k} - 1} |A_{i, m} - A_{i + 1, m}|\text{.} 답이 매우 클 수 있으므로 109+710^9 + 7로 나눈 나머지를 출력한다.

입력

첫째 줄에 세 양의 정수 nn, kk, mm이 주어진다. (1≤n≤106,1≤m≤k≤n1 \le n \le 10^6, 1 \le m \le k \le n)

출력

답을 109+710^9 + 7로 나눈 나머지를 한 줄에 출력한다.

힌트

첫 번째 예제에서 표는 다음과 같다.

121314232434\begin{array}{cc} 1 & 2 \\ 1 & 3 \\ 1 & 4 \\ 2 & 3 \\ 2 & 4 \\ 3 & 4 \\ \end{array}

답은 ∣2−3∣+∣3−4∣+∣4−3∣+∣3−4∣+∣4−4∣=4|2 - 3| + |3 - 4| + |4 - 3| + |3 - 4| + |4 - 4| = 4이다.

예제2

  1. 예제 1

    입력
    4 2 2
    
    예상 출력
    4
    
  2. 예제 2

    입력
    5 3 2
    
    예상 출력
    4