結果

問題 No.41 貯金箱の溜息(EASY)
ユーザー 👑 obakyanobakyan
提出日時 2020-05-05 19:31:56
言語 Lua
(LuaJit 2.1.1696795921)
結果
AC  
実行時間 19 ms / 5,000 ms
コード長 545 bytes
コンパイル時間 156 ms
コンパイル使用メモリ 5,328 KB
実行使用メモリ 4,380 KB
最終ジャッジ日時 2023-09-09 08:19:27
合計ジャッジ時間 697 ms
ジャッジサーバーID
(参考情報)
judge12 / judge13
このコードへのチャレンジ(β)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 16 ms
4,380 KB
testcase_01 AC 19 ms
4,376 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