Please sign in first.
Submission #5936886
Source Code Expand
N, H, D = map(int,input().split())
MOD = 10**9 + 7
fact = [1]
fact_cum = [0] # 1! to N!
for i in range(1,N+1):
fact.append((fact[-1]*i)%MOD)
fact_cum.append((fact_cum[-1] + fact[-1])%MOD)
dp = [0] * (H+1)
dp_cum = [0] * (H+1)
dp[0] = 1
dp_cum[0] = 1
for n in range(1,H+1):
x = dp_cum[n-1]
if n > D:
x -= dp_cum[n-D-1]
x *= fact_cum[N]
x %= MOD
dp[n] = x
dp_cum[n] = (dp_cum[n-1] + x)%MOD
answer = dp[H]
answer *= fact[N]
answer %= MOD
answer *= pow(fact_cum[N],MOD-2,MOD)
answer %= MOD
print(answer)
Submission Info
| Submission Time | |
|---|---|
| Task | E - Balanced Piles |
| User | maspy |
| Language | Python (3.4.3) |
| Score | 800 |
| Code Size | 555 Byte |
| Status | AC |
| Exec Time | 1742 ms |
| Memory | 161360 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 800 / 800 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | s1.txt, s2.txt, s3.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, 27.txt, 28.txt, 29.txt, 30.txt, 31.txt, 32.txt, 33.txt, 34.txt, 35.txt, 36.txt, 37.txt, 38.txt, 39.txt, s1.txt, s2.txt, s3.txt |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| 01.txt | AC | 18 ms | 3064 KiB |
| 02.txt | AC | 17 ms | 3064 KiB |
| 03.txt | AC | 18 ms | 3064 KiB |
| 04.txt | AC | 17 ms | 3064 KiB |
| 05.txt | AC | 18 ms | 3064 KiB |
| 06.txt | AC | 17 ms | 3064 KiB |
| 07.txt | AC | 18 ms | 3064 KiB |
| 08.txt | AC | 17 ms | 3064 KiB |
| 09.txt | AC | 485 ms | 43132 KiB |
| 10.txt | AC | 603 ms | 54732 KiB |
| 11.txt | AC | 867 ms | 77472 KiB |
| 12.txt | AC | 35 ms | 4588 KiB |
| 13.txt | AC | 261 ms | 25584 KiB |
| 14.txt | AC | 125 ms | 11376 KiB |
| 15.txt | AC | 284 ms | 25624 KiB |
| 16.txt | AC | 59 ms | 8524 KiB |
| 17.txt | AC | 54 ms | 7884 KiB |
| 18.txt | AC | 557 ms | 75340 KiB |
| 19.txt | AC | 338 ms | 45772 KiB |
| 20.txt | AC | 246 ms | 34124 KiB |
| 21.txt | AC | 745 ms | 85580 KiB |
| 22.txt | AC | 975 ms | 103048 KiB |
| 23.txt | AC | 1427 ms | 136684 KiB |
| 24.txt | AC | 1068 ms | 93560 KiB |
| 25.txt | AC | 550 ms | 70988 KiB |
| 26.txt | AC | 1412 ms | 161228 KiB |
| 27.txt | AC | 1389 ms | 161284 KiB |
| 28.txt | AC | 1502 ms | 161228 KiB |
| 29.txt | AC | 1418 ms | 161232 KiB |
| 30.txt | AC | 1355 ms | 161356 KiB |
| 31.txt | AC | 1742 ms | 161308 KiB |
| 32.txt | AC | 1667 ms | 161228 KiB |
| 33.txt | AC | 1562 ms | 161204 KiB |
| 34.txt | AC | 1571 ms | 161260 KiB |
| 35.txt | AC | 1657 ms | 161228 KiB |
| 36.txt | AC | 1441 ms | 161356 KiB |
| 37.txt | AC | 1668 ms | 161360 KiB |
| 38.txt | AC | 17 ms | 3064 KiB |
| 39.txt | AC | 820 ms | 82164 KiB |
| s1.txt | AC | 18 ms | 3064 KiB |
| s2.txt | AC | 17 ms | 3064 KiB |
| s3.txt | AC | 44 ms | 6164 KiB |