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

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

황소와 젖소

면접 대비

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

요약
길이 N의 수열 중 두 황소 사이에 소가 최소 K마리 있는 경우의 수를 5000011로 나눈 나머지를 구한다.
난이도

보통10점 중 6점

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

문제

농부 존은 매년 열리는 축제에서 선보이기 위해 젖소와 황소를 합쳐 NN마리 (1≤N≤100,0001 \le N \le 100{,}000)를 한 줄로 세우려고 한다.

최근 황소들이 매우 사나워졌다는 것을 존은 알아차렸다. 두 황소가 줄에서 너무 가까이 붙어 있으면 서로 다투다가 싸움을 벌여 행사를 망치게 된다. 존은 어떤 두 황소 사이에도 젖소가 적어도 KK마리 (0≤K<N0 \le K < N) 있어야 싸움을 피할 수 있다고 계산했다.

존이 싸움 없이 만들 수 있는, 황소와 젖소로 이루어진 길이 NN의 서로 다른 배열의 수를 세어 달라. 모든 황소는 서로 구별할 수 없고 모든 젖소도 서로 구별할 수 없다. 따라서 두 배열은 어떤 위치의 동물 종류가 다를 때에만 서로 다른 것으로 본다.

입력

  • 첫째 줄: 공백으로 구분된 두 정수 NN과 KK.

출력

  • 첫째 줄: 존이 만들 수 있는 배열의 수. 이 값이 매우 커질 수 있으므로 5,000,0115{,}000{,}011로 나눈 나머지를 출력한다.

힌트

N=4N = 4, K=2K = 2일 때 존이 만들 수 있는 여섯 가지 배열은 다음과 같다. (여기서 'C'는 젖소, 'B'는 황소를 뜻한다.)

CCCC
BCCC
CBCC
CCBC
CCCB
BCCB

예제3

  1. 예제 1

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

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

    입력
    2 1
    
    예상 출력
    3