만드는 중입니다

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

가뭄

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

요약
각 소의 배고픔이 주어진 상한 이하일 때, 인접한 두 소를 함께 먹여 모든 값을 같게 만들 수 있는 N-튜플의 개수를 10^9+7로 나눈 나머지를 구한다.
난이도

어려움10점 중 8점

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

문제

가뭄으로 Farmer John의 목초지에 있는 풀이 모두 말라 버렸다. 절망과 고민 끝에 FJ는 소중한 소들에게 먹일 옥수수를 사기로 했다.

FJ의 소 NN마리(1≤N≤1001 \leq N \leq 100)가 한 줄로 서 있고, 줄의 ii번째 소의 배고픔 정도는 음이 아닌 정수 h_ih\_i이다. FJ의 소들은 사회적인 동물이라 항상 함께 먹으려 하므로, FJ가 소들의 배고픔 정도를 줄일 수 있는 방법은 인접한 두 소 ii와 i+1i+1을 골라 각각 옥수수 한 봉지를 먹여서 두 소의 배고픔 정도를 1씩 줄이는 것뿐이다.

FJ는 모든 소의 배고픔 정도가 음이 아닌 같은 값이 될 때까지 소들을 먹이고 싶어 한다. 소들의 정확한 배고픔 정도는 알지 못하지만, 각 소의 배고픔 정도의 상한은 알고 있다. 즉 ii번째 소의 배고픔 정도 h_ih\_i는 H_iH\_i 이하이다(0≤H_i≤10000\le H\_i\le 1000).

이 상한과 일치하는 NN-튜플 \[h_1,h_2,…,h_N]\[h\_1,h\_2,\ldots,h\_N] 중에서 FJ가 목표를 달성할 수 있는 것의 개수를 109+710^9+7로 나눈 나머지를 구하시오.

입력

첫째 줄에 NN이 주어진다.

둘째 줄에 H_1,H_2,…,H_NH\_1,H\_2,\ldots,H\_N이 주어진다.

출력

가능한 배고픔 정도 NN-튜플의 개수를 109+710^9+7로 나눈 나머지를 출력한다.

예제2

  1. 예제 1

    입력
    3
    9 11 7
    
    예상 출력
    241
    
  2. 예제 2

    입력
    4
    6 8 5 9
    
    예상 출력
    137