파스칼 삼각형

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

요약
N번째 행까지의 파스칼 삼각형에서 인접한 두 수의 차이의 최댓값과 그 값을 만드는 쌍의 개수를 구해 10^9+7로 나눈 나머지를 출력한다.
난이도

어려움10점 중 8점

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

문제

파스칼의 삼각형은 이항계수를 삼각형 형태로 배열한 것인데, 블레즈 파스칼(1623-1662)을 따라 이름 붙여졌다.

단순한 형태로, 파스칼의 삼각형은 다음과 같은 방법으로 만들 수 있다.

  1. ii 번째 행에는 ii개의 수가 있다.
  2. 첫 번째 행은 11이다.
  3. 두 번째 행부터, 각 행의 양 끝의 값은 11이고, 나머지 수의 값은 바로 위 행의 인접한 두 수의 합이다.

[ 다섯 번째 행까지의 파스칼의 삼각형 ]

여기서 파스칼의 삼각형이 NN번째 행까지 존재할 때 인접한 두 수의 차이의 최댓값과 최댓값을 만들 수 있는 쌍의 개수를 구하려고 한다.

여기에서 인접한다는 것은 같은 행에서 인접한 두 수이거나 위 행과 아래 행에서 대각선으로 인접한 것도 인접한다고 본다.

다시 말하자면, ii번째 행의 jj번째 수를 P_i,jP\_{i, j} 라고 한다면 P_i,jP\_{i, j}와 인접한 항들은

  • 같은 행: P_i,j−1P\_{i, j-1}, P_i,j+1P\_{i, j+1}
  • i−1i - 1번째 행: P_i−1,j−1P\_{i-1, j-1}, P_i−1,jP\_{i-1, j}
  • i+1i + 1번째 행: P_i+1,jP\_{i+1, j}, P_i+1,j+1P\_{i+1, j+1}

이렇게 정리할 수 있다.

인접한 두 수의 차이의 최댓값을 109+710^{9}+7로 나눈 나머지와 그 최댓값을 만들 수 있는 쌍의 개수를 구해보자.

입력

행의 수 NN이 주어진다. (2≤N≤4,000,000)(2 \leq N \leq 4\\,000\\,000)

출력

인접한 두 수의 차이의 최댓값을 109+710^{9}+7로 나눈 나머지와 쌍의 개수를 공백으로 구분하여 출력한다.

예제2

  1. 예제 1

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

    입력
    3
    
    예상 출력
    1 4