結果
| 問題 |
No.10 +か×か
|
| コンテスト | |
| ユーザー |
vjudge1
|
| 提出日時 | 2025-09-05 10:27:22 |
| 言語 | Crystal (1.14.0) |
| 結果 |
RE
|
| 実行時間 | - |
| コード長 | 567 bytes |
| コンパイル時間 | 14,114 ms |
| コンパイル使用メモリ | 311,716 KB |
| 実行使用メモリ | 7,716 KB |
| 最終ジャッジ日時 | 2025-09-05 10:27:37 |
| 合計ジャッジ時間 | 14,571 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | RE * 12 |
ソースコード
n = gets.not_nil!.to_i
num = gets.not_nil!.to_i64
a = Array(Int32).new(n) { gets.not_nil!.to_i }
dp = Array(Set(Int64)).new(n + 1) { Set(Int64).new }
dp[n] = Set{num}
n.downto(1) do |i|
x = a[i - 1].to_i64
dp[i].each do |y|
dp[i - 1] << (y - x) if y - x >= 0
dp[i - 1] << (y // x) if y % x == 0
end
end
raise "Assertion failed: dp[0] should contain 0" unless dp[0].includes?(0)
ans = ""
x = 0_i64
(1..n).each do |i|
y = a[i - 1].to_i64
if dp[i].includes?(x + y)
x += y
ans += '+'
else
x *= y
ans += '*'
end
end
puts ans[1..]
vjudge1