結果
| 問題 | No.41 貯金箱の溜息(EASY) | 
| コンテスト | |
| ユーザー | 👑 | 
| 提出日時 | 2020-05-05 19:31:56 | 
| 言語 | Lua (LuaJit 2.1.1734355927) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 14 ms / 5,000 ms | 
| コード長 | 545 bytes | 
| コンパイル時間 | 395 ms | 
| コンパイル使用メモリ | 5,376 KB | 
| 実行使用メモリ | 5,376 KB | 
| 最終ジャッジ日時 | 2024-06-27 01:28:18 | 
| 合計ジャッジ時間 | 717 ms | 
| ジャッジサーバーID (参考情報) | judge5 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 2 | 
ソースコード
local mfl, mce = math.floor, math.ceil
local mod = 1000000009
local function badd(x, y)
  return (x + y) % mod
end
local dp = {}
local lim = mfl(10000000000 / 111111)
for i = 1, lim do
  dp[i] = 0
end
for i = 1, 9 do
  dp[i] = badd(dp[i], 1)
  for j = 1, lim - i do
    dp[i + j] = badd(dp[i + j], dp[j])
  end
end
local sum = {}
sum[1] = badd(1, dp[1])
for i = 2, lim do
  sum[i] = badd(sum[i - 1], dp[i])
end
local q = io.read("*n")
for iq = 1, q do
  local a = io.read("*n")
  local ap = mfl(a / 111111)
  print(ap == 0 and 1 or sum[ap])
end
            
            
            
        