結果
問題 |
No.332 数列をプレゼントに
|
ユーザー |
|
提出日時 | 2016-01-08 19:49:01 |
言語 | Ruby (3.4.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 560 bytes |
コンパイル時間 | 122 ms |
コンパイル使用メモリ | 7,552 KB |
実行使用メモリ | 20,124 KB |
最終ジャッジ日時 | 2024-09-19 13:10:28 |
合計ジャッジ時間 | 8,564 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 5 |
other | AC * 38 TLE * 1 -- * 3 |
コンパイルメッセージ
Syntax OK
ソースコード
# まだTLEのはず N, X = gets.split.map(&:to_i) H = Hash.new{|h,k| h[k] = []} T = gets.split.map(&:to_i) T.each_with_index{|n,i| H[n] << i} A = H.to_a.sort.reverse S = T.inject(&:+) def check(a, i, x, s) throw :ok, a if x == 0 return if x < 0 return if s < x return if i >= A.size num, idxs = A[i] idxs.size.downto(0) do |m| check(a.dup.concat(idxs[0...m]), i + 1, x - num * m, s - num * idxs.size) end end ans = catch(:ok) do check([], 0, X, S) [] end puts ans.size > 0 ? (0...N).map{|i| ans.include?(i) ? "o" : "x"}.join : "No"