結果

問題 No.258 回転寿司(2)
ユーザー 👑 obakyanobakyan
提出日時 2019-09-17 15:53:12
言語 Lua
(LuaJit 2.1.1734355927)
結果
AC  
実行時間 4 ms / 2,000 ms
コード長 832 bytes
コンパイル時間 161 ms
コンパイル使用メモリ 6,684 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-07 13:15:38
合計ジャッジ時間 4,017 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 67
権限があれば一括ダウンロードができます

ソースコード

diff #

local n = io.read("*n")
local v = io.read("*n")
local ta, tb = {}, {}
ta[1] = {v, "1"}
tb[1] = {0, "0"}
local mma = math.max
for i = 2, n do
  v = io.read("*n")
  if ta[i - 1][1] < tb[i - 1][1] + v then
    ta[i] = {tb[i - 1][1] + v, tb[i - 1][2] .. "1"}
  else
    ta[i] = {ta[i - 1][1], ta[i - 1][2] .. "0"}
  end
  if ta[i - 1][1] < tb[i - 1][1] then
    tb[i] = {tb[i - 1][1], tb[i - 1][2] .. "0"}
  else
    tb[i] = {ta[i - 1][1], ta[i - 1][2] .. "0"}
  end
end
if ta[n][1] < tb[n][1] then
  print(tb[n][1])
  local tbl = {}
  for i = 1, n do
    if tb[n][2]:sub(i, i) == "1" then
      table.insert(tbl, i)
    end
  end
  print(table.concat(tbl, " "))
else
  print(ta[n][1])
  local tbl = {}
  for i = 1, n do
    if ta[n][2]:sub(i, i) == "1" then
      table.insert(tbl, i)
    end
  end
  print(table.concat(tbl, " "))
end
0