Submission
Status:
PP-PPPPPPP
Subtask/Task Score:
90/100
Score: 90
User: kavin8888
Problemset: วิศวกรรมข้อมูล
Language: cpp
Time: 0.002 second
Submitted On: 2025-10-16 13:38:08
#include <bits/stdc++.h>
using namespace std;
int main() {
long long int a;
cin >> a;
vector<pair<int, int>> b(a);
for (int i = 0; i < a; i++) {
cin >> b[i].second;
}
int geb = 0;
int k = 0;
int li = 0;
for (int i = 0; i < a; i++) {
for (int j = 0; (1 << j) <= b[i].second; j++) {
if (((1 << j) & (b[i].second)) > 0) {
geb++;
}
k++;
li++;
}
b[i].first = k - geb;
geb = 0;
k = 0;
}
for (int i = 0; i < a; i++) {
b[i].second = b[i].second * (-1);
}
sort(b.begin(), b.end());
int ox[li];
int y = 0;
for (int i = 0; i < a; i++) {
b[i].second = b[i].second * (-1);
}
for (int i = a - 1; i >= 0; i--) {
while (b[i].second != 0) {
ox[y] = b[i].second % 2;
b[i].second /= 2;
y++;
}
}
int ans = 0;
for (int u = li - 1; u >= 0; u--) {
ans = (ans * 2) + ox[u] % 2;
}
cout << ans;
return 0;
}