結果

問題 No.130 XOR Minimax
ユーザー snrnsidy
提出日時 2021-05-23 03:50:50
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 100 ms / 5,000 ms
コード長 600 bytes
コンパイル時間 1,771 ms
コンパイル使用メモリ 196,672 KB
最終ジャッジ日時 2025-01-21 17:31:03
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 21
権限があれば一括ダウンロードができます

ソースコード

diff #
プレゼンテーションモードにする

#include <bits/stdc++.h>
using namespace std;
vector<int> a;
int f(vector<int>& v, int bit) {
if (v.empty() || bit < 0) return 0LL;
vector<int> l, r;
for (int& x : v) {
if ((x >> bit) & 1) r.push_back(x);
else l.push_back(x);
}
if (l.empty() || r.empty()) return f(l.empty() ? r : l, bit - 1);
else return min(f(l, bit - 1), f(r, bit - 1)) | (1 << bit);
}
int main() {
ios::sync_with_stdio(false); cin.tie(0);
int n; cin >> n;
a.clear(); a.resize(n, 0);
for (int i = 0; i < n; i++) cin >> a[i];
printf("%d", f(a, 30));
return 0;
}
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
0