func main() var n: int :: cui@inputInt() var a: int :: cui@inputInt() var b: int :: cui@inputInt() var c: int :: cui@inputInt() ; dp[i] = v ; i: 使用枚数 ; v: 割引額の合計 var dp: []int :: #[n + 1]int do dp[0] :: 0 for i(0, n) if(i >= 3) do dp[i] :: lib@max(dp[i], dp[i - 3] + a) end if if(i >= 5) do dp[i] :: lib@max(dp[i], dp[i - 5] + b) end if if(i >= 10) do dp[i] :: lib@max(dp[i], dp[i - 10] + c) end if end for var ans: int :: dp.max() do cui@print("\{ans}\n") end func