Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: august
Problemset: วิศวกรรมข้อมูล
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-13 10:00:45
#include <bits/stdc++.h>
using namespace std;
int n;
unsigned long long ans=0;
string b[4];
bool vst[4]={};
void mx(string s, int si) {
if (si==n) {
unsigned long long tem=0;
for (int i=0; i<s.size(); i++) {
tem*=2;
tem+=s[i]-'0';
}
ans=max(ans, tem);
}
for (int i=0; i<n; i++) {
if (vst[i]) continue;
vst[i]=1;
mx(s+b[i], si+1);
vst[i]=0;
}
}
int main() {
cin>> n;
int a[n];
for (int i=0; i<n; i++) cin>> a[i];
for (int i=0; i<n; i++) {
string s="";
while (a[i] != 0) {
s=char('0'+a[i]%2)+s;
a[i]/=2;
}
b[i] = s;
}
string d="";
mx(d, 0);
cout<< ans;
}