만드는 중입니다

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

In The End

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

요약
각 열에 확률에 따라 케이크가 하나씩 놓이고, 로봇은 오른쪽으로 한 칸씩 가면서 행을 한 칸까지 바꿀 수 있습니다. f(m)/m의 극한을 10^9+7로 나눈 나머지로 구합니다.
난이도

어려움10점 중 9점

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

문제

방향 한쪽으로 무한히 뻗은 보드가 있다. 보드는 nn개의 행과 무한히 많은 열로 이루어진다. 가장 왼쪽 첫 번째 열은 있지만 마지막 열은 없다. 각 열에는 케이크가 있는 칸이 정확히 하나 있다. 케이크가 ii번째 행에 있을 확률은 pip_i이며, 모든 pip_i의 합은 11이다. 서로 다른 열의 케이크 위치는 독립이다. 로봇은 첫 번째 열의 어떤 칸에서든 출발할 수 있다. 로봇이 (x,y)(x, y) 칸(x행, y열)에 있으면, 한 번의 이동으로 (x,y+1)(x, y + 1), (x−1,y+1)(x - 1, y + 1), (x+1,y+1)(x + 1, y + 1) 중 존재하는 칸으로 옮겨 갈 수 있다. 로봇이 케이크가 있는 칸을 방문하면 그 케이크를 모은다. 사건의 순서는 다음과 같다. 먼저 주어진 확률에 따라 모든 케이크를 배치한다. 그다음 배치 정보를 로봇에게 준다. 로봇은 모은 케이크 수를 최대화하도록 출발 칸과 이동 계획을 고른다. m=1,2,…m = 1, 2, \ldots에 대해 n×mn \times m 보드를 생각하고, 최적 경로를 따랐을 때 1단계당 모으는 케이크 수의 기댓값 평균을 f(m)f(m)이라 하자. lim⁡m→∞f(m)m\lim_{m \rightarrow \infty} \frac{f(m)}{m}을 구하라.

입력

첫 줄에 행의 개수를 나타내는 정수 nn (1≤n≤61 \le n \le 6)이 주어진다. 다음 줄에는 소수점 아래 최대 한 자리까지 표현된 실수 pip_i (0≤pi≤10 \le p_i \le 1) nn개가 주어진다. 확률의 합은 11이다.

출력

답은 양의 정수 PP와 QQ에 대한 분수 PQ\frac{P}{Q}로 나타낼 수 있다. (P⋅Q−1) mod (109+7)(P \cdot Q^{-1}) \bmod (10^9 + 7)을 출력하라.

예제3

  1. 예제 1

    입력
    2
    0.5 0.5
    
    예상 출력
    1
    
  2. 예제 2

    입력
    3
    0.3 0.3 0.4
    
    예상 출력
    804545461
    
  3. 예제 3

    입력
    4
    0.2 0.3 0.2 0.3
    
    예상 출력
    84928504