結果

問題 No.130 XOR Minimax
コンテスト
ユーザー tottoripaper
提出日時 2015-02-15 23:13:47
言語 C++11
(gcc 15.2.0 + boost 1.89.0)
コンパイル:
g++-15 -O2 -lm -std=gnu++11 -Wuninitialized -DONLINE_JUDGE -o a.out _filename_
実行:
./a.out
結果
WA  
実行時間 -
コード長 622 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 246 ms
コンパイル使用メモリ 54,804 KB
実行使用メモリ 7,844 KB
最終ジャッジ日時 2026-03-09 03:37:52
合計ジャッジ時間 1,606 ms
ジャッジサーバーID
(参考情報)
judge1 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 3 WA * 18
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

#include <cstdio>
#include <algorithm>
#include <limits>

int main(){
    int N;
    scanf("%d", &N);

    int A[100000];
    for(int i=0;i<N;i++){
        scanf("%d", A+i);
    }

    int mask = 0;
    for(int i=30;i>=0;i--){
        int mn = std::numeric_limits<int>::max(), mn_f = 0;
        for(int j=0;j<N;j++){
            if((A[j] & ((1 << i) - 1)) < mn){
                mn = A[j] & ((1 << i) - 1);
                mn_f = A[j] >> i & 1;
            }
        }
        mask |= mn_f << i;
    }

    int res = 0;
    for(int i=0;i<N;i++){
        res = std::max(res, A[i] ^ mask);
    }

    printf("%d\n", res);
}
0