結果
| 問題 | No.612 Move on grid | 
| コンテスト | |
| ユーザー |  | 
| 提出日時 | 2017-12-12 00:18:43 | 
| 言語 | PyPy3 (7.3.15) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 252 ms / 2,500 ms | 
| コード長 | 523 bytes | 
| コンパイル時間 | 187 ms | 
| コンパイル使用メモリ | 82,376 KB | 
| 実行使用メモリ | 149,612 KB | 
| 最終ジャッジ日時 | 2024-12-18 00:45:03 | 
| 合計ジャッジ時間 | 4,756 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge4 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| sample | AC * 4 | 
| other | AC * 17 | 
ソースコード
mod = 10 ** 9 + 7
T = int(input())
a, b, c, d, e = list(map(int, input().split()))
a = abs(a)
b = abs(b)
c = abs(c)
n, offset = 20000 + 2, 10000
f = [0] * n
f[offset] = 1
for i in range(T):
  g = [0] * n
  for j in range(n):
    f[j] %= mod
    if j >= a: g[j - a] += f[j]
    if j >= b: g[j - b] += f[j]
    if j >= c: g[j - c] += f[j]
    if j + a < n: g[j + a] += f[j]
    if j + b < n: g[j + b] += f[j]
    if j + c < n: g[j + c] += f[j]
  f = g
ret = 0
for i in range(d, e + 1):
  ret += g[i + offset]
print(ret % mod)
            
            
            
        