結果
| 問題 |
No.5001 排他的論理和でランニング
|
| ユーザー |
|
| 提出日時 | 2018-03-16 23:12:06 |
| 言語 | Ruby (3.4.1) |
| 結果 |
AC
|
| 実行時間 | 1,081 ms / 1,500 ms |
| コード長 | 358 bytes |
| コンパイル時間 | 45 ms |
| 実行使用メモリ | 23,552 KB |
| スコア | 24,586,561 |
| 最終ジャッジ日時 | 2020-03-12 19:32:23 |
|
ジャッジサーバーID (参考情報) |
judge9 / |
| 純コード判定しない問題か言語 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 50 |
コンパイルメッセージ
Syntax OK
ソースコード
N, M = gets.split.map &:to_i
A = gets.split.map(&:to_i).sort.reverse
m = N - M
ans = A.dup
res = A.inject(:^)
A.group_by{|a|Math.log2(a).floor}.each{|k, v|
oddp = res & 2**k != 0
v.pop if oddp
v.each{|n|
res ^= n
ans.delete_at(ans.bsearch_index{|a|a<=n})
m -= 1
if m == 0
puts ans*" "
exit
end
}
}
puts ans.max(M)*" "