結果

問題 No.41 貯金箱の溜息(EASY)
ユーザー 👑 obakyanobakyan
提出日時 2020-05-05 19:31:56
言語 Lua
(LuaJit 2.0.5)
結果
AC  
実行時間 19 ms / 5,000 ms
コード長 545 bytes
コンパイル時間 92 ms
使用メモリ 4,160 KB
最終ジャッジ日時 2023-01-26 00:37:36
合計ジャッジ時間 855 ms
ジャッジサーバーID
(参考情報)
judge14 / judge15
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
testcase_00 AC 17 ms
4,160 KB
testcase_01 AC 19 ms
4,148 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

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
0