Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: mantaggez
Problemset: วิศวกรรมข้อมูล
Language: cpp
Time: 0.003 second
Submitted On: 2026-03-22 20:07:52
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
ll n, x, ans;
vector<string> str;
int main()
{
cin.tie(NULL)->sync_with_stdio(false);
cin >> n;
for(ll i=0;i<n;i++) {
string s = "";
cin >> x;
for(ll j=0;j<7;j++) {
if(x & (1 << j)) {
s += "1";
}
else s += "0";
}
reverse(s.begin(), s.end());
ll idx = 0;
for(ll j=0;j<s.size();j++) {
if(s[j] == '1') {
idx = j;
break;
}
}
str.push_back(s.substr(idx, s.size()));
}
vector<ll> idx(n);
iota(idx.begin(), idx.end(), 0);
do {
string s = "";
ll sum = 0;
for(ll i : idx) s += str[i];
for(ll i=0;i<s.size();i++) {
if(s[i] == '1') {
sum += (1 << s.size() - i - 1);
}
}
ans = max(ans, sum);
}
while(next_permutation(idx.begin(), idx.end()));
cout << ans << '\n';
return 0;
}