結果
問題 | No.5001 排他的論理和でランニング |
ユーザー |
|
提出日時 | 2018-03-16 23:08:53 |
言語 | Ruby (3.4.1) |
結果 |
AC
|
実行時間 | 1,094 ms / 1,500 ms |
コード長 | 349 bytes |
コンパイル時間 | 31 ms |
実行使用メモリ | 22,972 KB |
スコア | 25,900,396 |
最終ジャッジ日時 | 2020-03-12 19:31:40 |
ジャッジサーバーID (参考情報) |
judge10 / |
純コード判定しない問題か言語 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 50 |
コンパイルメッセージ
Syntax OK
ソースコード
N, M = gets.split.map &:to_i A = gets.split.map(&:to_i).sort 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)*" "