結果

問題 No.10 +か×か
コンテスト
ユーザー pessimist
提出日時 2026-01-16 18:02:10
言語 Ruby
(4.0.2)
コンパイル:
ruby -w -c _filename_
実行:
ruby _filename_
結果
AC  
実行時間 56 ms / 5,000 ms
+ 558µs
コード長 333 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 306 ms
コンパイル使用メモリ 8,704 KB
実行使用メモリ 15,232 KB
最終ジャッジ日時 2026-07-20 11:22:57
合計ジャッジ時間 2,717 ms
ジャッジサーバーID
(参考情報)
judge3_0 / judge2_0
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 13
権限があれば一括ダウンロードができます
コンパイルメッセージ
Syntax OK

ソースコード

diff #
raw source code

f=->{gets.split.map &:to_i}
n=f[][0];t=f[][0];a=f[]
dp=Array.new(n+1){Set.new}
dp[n].add(t)
n.downto(1){|i|
  x=a[i-1]
  dp[i].each do |y|
    dp[i-1].add(y-x) if y-x>=0
    dp[i-1].add((y/x).to_i) if y%x==0
  end
}

ans=[];x=0
1.upto(n){|i|
  y=a[i-1]
  next (ans<<'+';x+=y) if dp[i].include? y+x
  ans<<'*';x*=y
}
print ans[1..]*''
0