結果

問題 No.698 ペアでチームを作ろう
ユーザー masashi0217
提出日時 2021-03-19 23:57:22
言語 Ruby
(3.4.1)
結果
AC  
実行時間 220 ms / 1,000 ms
コード長 650 bytes
コンパイル時間 596 ms
コンパイル使用メモリ 7,424 KB
実行使用メモリ 12,288 KB
最終ジャッジ日時 2024-11-19 02:55:47
合計ジャッジ時間 4,381 ms
ジャッジサーバーID
(参考情報)
judge5 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 12
権限があれば一括ダウンロードができます
コンパイルメッセージ
Main.rb:7: warning: assigned but unused variable - number
Main.rb:4: warning: assigned but unused variable - max
Syntax OK

ソースコード

diff #

n = gets.chomp.to_i
a = gets.chomp.split(" ").map(&:to_i)
bit = 1 << n
max = 0
dp = Array.new(1<<n,0)
0.upto(bit-1) do |i|
    number = 0
    team = 0
    0.upto(n) do |j|
        ij = i >> j
        if ij & 1 == 1
            team += 1
        end
    end
    next if team % 2 == 1
    #print "iは"+"#{i}" + " "+" teamは" + "#{team}" + "\n"
    0.upto(n-2) do |x|
        next if 1 << x & i != 0
        (x+1).upto(n-1) do |y|
            next if 1 << y & i != 0
            xx = 1 << x
            yy = 1 << y
            dp[i|xx|yy] = [dp[i|xx|yy],dp[i] + (a[x] ^ a[y])].max            
        end
    end
    #ここまではOK
end
puts dp[-1]
0