提出 #7802047
ソースコード 拡げる
N, M = gets.split.map(&:to_i)
B, Ikr, FullBit = {}, [100001]*(1<<N), (1<<N)-1
master_key = 0
M.times{
a, c = gets.to_i, gets.split.map(&:to_i)
tkrbit = c.inject(0){|bit, tkr|
bit | (1<<(tkr-1))
}
next if Ikr[tkrbit] < a
master_key |= tkrbit
Ikr[tkrbit] = a
B[(a<<N)|tkrbit] = true
}
if master_key != FullBit
p -1
exit
end
Q, q, r = B.keys.sort, [], []
while lowest = Q.shift
low_cost, low_tkrbit = lowest>>N, lowest&FullBit
next if Ikr[low_tkrbit] < low_cost
break if low_tkrbit == FullBit
next unless B.key?(lowest)
while kg = Q.shift
cost, tkrbit = kg>>N, kg&FullBit
next if Ikr[tkrbit] < cost
cost, tkrbit = low_cost+cost, low_tkrbit|tkrbit
next if tkrbit == low_tkrbit
q << kg
next if Ikr[tkrbit] <= cost
Ikr[tkrbit] = cost
r << ((cost<<N)|tkrbit)
end
until q.empty?
unless r.empty?
l, pv = q[0] < r[0] ? [q, r[0]+FullBit] : [r, q[0]+FullBit]
Q.concat l.shift(l.bsearch_index{|_| pv <= _ }||l.size)
else
Q.concat q
q.clear
end
end
Q.concat r
r.clear
end
p Ikr[FullBit]
提出情報
| 提出日時 | |
|---|---|
| 問題 | E - Get Everything |
| ユーザ | ds14050 |
| 言語 | Ruby (2.3.3) |
| 得点 | 500 |
| コード長 | 1082 Byte |
| 結果 | AC |
| 実行時間 | 25 ms |
| メモリ | 2424 KiB |
コンパイルエラー
./Main.rb:16: warning: ambiguous first argument; put parentheses or a space even after `-' operator
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | 00-sample-00, 00-sample-01, 00-sample-02 |
| All | 00-sample-00, 00-sample-01, 00-sample-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 01-handmade-06, 01-handmade-07, 02-random-08, 02-random-09, 02-random-10, 02-random-11, 02-random-12, 02-random-13, 02-random-14, 02-random-15, 02-random-16, 02-random-17, 02-random-18, 02-random-19, 02-random-20, 02-random-21, 02-random-22, 02-random-23, 02-random-24, 02-random-25, 02-random-26, 02-random-27, 02-random-28, 02-random-29, 02-random-30, 02-random-31, 02-random-32, 02-random-33, 02-random-34, 02-random-35, 02-random-36, 02-random-37, 02-random-38, 02-random-39 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 00-sample-00 | AC | 7 ms | 1788 KiB |
| 00-sample-01 | AC | 7 ms | 1788 KiB |
| 00-sample-02 | AC | 7 ms | 1788 KiB |
| 01-handmade-03 | AC | 10 ms | 1916 KiB |
| 01-handmade-04 | AC | 12 ms | 1916 KiB |
| 01-handmade-05 | AC | 10 ms | 1916 KiB |
| 01-handmade-06 | AC | 9 ms | 1912 KiB |
| 01-handmade-07 | AC | 14 ms | 1916 KiB |
| 02-random-08 | AC | 11 ms | 1916 KiB |
| 02-random-09 | AC | 8 ms | 1788 KiB |
| 02-random-10 | AC | 13 ms | 1912 KiB |
| 02-random-11 | AC | 10 ms | 1916 KiB |
| 02-random-12 | AC | 10 ms | 1912 KiB |
| 02-random-13 | AC | 9 ms | 1912 KiB |
| 02-random-14 | AC | 12 ms | 1912 KiB |
| 02-random-15 | AC | 13 ms | 1912 KiB |
| 02-random-16 | AC | 13 ms | 1912 KiB |
| 02-random-17 | AC | 12 ms | 1912 KiB |
| 02-random-18 | AC | 13 ms | 1916 KiB |
| 02-random-19 | AC | 16 ms | 2044 KiB |
| 02-random-20 | AC | 7 ms | 1788 KiB |
| 02-random-21 | AC | 18 ms | 2040 KiB |
| 02-random-22 | AC | 12 ms | 1916 KiB |
| 02-random-23 | AC | 11 ms | 1912 KiB |
| 02-random-24 | AC | 13 ms | 1916 KiB |
| 02-random-25 | AC | 19 ms | 2168 KiB |
| 02-random-26 | AC | 11 ms | 1916 KiB |
| 02-random-27 | AC | 15 ms | 2044 KiB |
| 02-random-28 | AC | 10 ms | 1912 KiB |
| 02-random-29 | AC | 19 ms | 2424 KiB |
| 02-random-30 | AC | 19 ms | 2044 KiB |
| 02-random-31 | AC | 13 ms | 1916 KiB |
| 02-random-32 | AC | 25 ms | 2172 KiB |
| 02-random-33 | AC | 10 ms | 1916 KiB |
| 02-random-34 | AC | 12 ms | 1912 KiB |
| 02-random-35 | AC | 12 ms | 1916 KiB |
| 02-random-36 | AC | 10 ms | 1788 KiB |
| 02-random-37 | AC | 8 ms | 1788 KiB |
| 02-random-38 | AC | 10 ms | 1912 KiB |
| 02-random-39 | AC | 13 ms | 2044 KiB |