포럼
문제 USACO0501

가뭄

설명

가뭄으로 농부 존의 목초지에 풀이 다 말라버렸다. 몇 시간의 절망과 고민 끝에, 농부 존은 소중한 소들에게 먹일 옥수수를 구입한다는 기발한 아이디어를 떠올린다.

농부 존의 \(N\)마리(\(1 \leq N \leq 100\)) 소들은 한 줄로 서 있으며, 줄에서 \(i\)번째 소의 배고픔 수치는 음이 아닌 정수 \(h_i\)이다. 소들은 사회적인 동물이라 함께 먹기를 고집하기 때문에, 농부 존이 소들의 배고픔 수치를 줄일 수 있는 유일한 방법은 인접한 두 소 \(i\)\(i+1\)을 선택해 각각에게 옥수수 한 자루씩을 먹여 각자의 배고픔 수치를 1씩 줄이는 것이다.

농부 존은 모든 소의 배고픔 수치가 같은 음이 아닌 값이 될 때까지 소들에게 먹이를 주고 싶다. 그는 소들의 정확한 배고픔 수치는 모르지만, 각 소의 배고픔 수치에 대한 상한은 알고 있다. 구체적으로, \(i\)번째 소의 배고픔 수치 \(h_i\)는 최대 \(H_i\)(\(0\le H_i\le 1000\))이다.

이 상한들과 모순되지 않으면서 농부 존이 목표를 달성할 수 있는 배고픔 수치의 \(N\)-튜플 \([h_1,h_2,\ldots,h_N]\)의 개수를 \(10^9+7\)로 나눈 나머지를 구하는 것이 당신의 일이다.

출제자: Arpan Banerjee and Benjamin Qi

제약

배점

짝수 번호 테스트에서 \(N\)은 짝수이고, 홀수 번호 테스트에서 \(N\)은 홀수이다.

  • 테스트 3과 4는 \(N\le 6\)\(H_i \le 10\)을 만족한다.
  • 테스트 5-10은 \(N\le 50\)\(H_i \le 100\)을 만족한다.
  • 테스트 11-20은 추가 제약이 없다.

출제자: Arpan Banerjee and Benjamin Qi

입력 형식

첫째 줄에 \(N\)이 주어진다.

둘째 줄에 \(H_1,H_2,\ldots,H_N\)이 주어진다.

출력 형식

배고픔 수치의 \(N\)-튜플의 개수를 \(10^9+7\)로 나눈 나머지를 출력한다.

예제 1
입력
3
9 11 7
출력
241
설명

There are \((9+1)\cdot (11+1)\cdot (7+1)\) \(3\)-tuples \(h\) that are consistent with
\(H\).

One of these tuples is \(h=[8,10,5]\). In this case, it is possible to make all
cows have equal hunger values: give two bags of corn to both cows \(2\) and \(3\),
then give five bags of corn to both cows \(1\) and \(2\), resulting in each cow
having a hunger level of \(3\).

Another one of these tuples is \(h=[0,1,0]\). In this case, it is impossible to
make the hunger levels of the cows equal.

예제 2
입력
4
6 8 5 9
출력
137
문제 정보

riseoj 작성

출처 올림피아드 > USACO > 2021-2022 > January > Gold

태그

평가 및 의견

Drought

개요
출제자 난이도 Unrated 레이팅 미적용 의견 0 / 1 공개 집계 (커뮤니티 난이도, 주요 주제, 품질)는 의견이 충분히 모이면 공개됩니다.

Log in to rate problems.

개별 의견

아직 의견이 없습니다. 자격이 된다면 위 양식에서 가장 먼저 평가해 보세요.

풀이 제출

Drought

게스트로 둘러보고 있습니다. 로그인하면 풀이를 제출하고 진행 상황을 확인할 수 있습니다. 로그인하고 제출하기
공개
C++20 Tab 들여쓰기 · Ctrl+/ 주석 토글 · Enter 자동 들여쓰기
1 1 1 0 공백: 4 · UTF-8