Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: kungarooo
Problemset: วิศวกรรมข้อมูล
Language: cpp
Time: 0.003 second
Submitted On: 2025-10-01 12:50:44
#include<bits/stdc++.h>
using namespace std;
int base10(string r){
int sum=0,s=1;
for(int i=r.size()-1;i>=0;i--){
sum+=(r[i]-'0')*s;
s*=2;
}
return sum;
}
int main(){
int n,mx=0;
cin>>n;
int a[n];
string s[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
for(int i=0;i<n;i++){
while(a[i]!=0){
s[i]=to_string(a[i]%2)+s[i];
a[i]/=2;
}
}
vector<int> f;
for(int i=0;i<n;i++)f.push_back(i);
do{
string r="";
for(int i=0;i<n;i++)r+=s[f[i]];
mx=max(mx,base10(r));
}while(next_permutation(f.begin(),f.end()));
cout<<mx;
return 0;
}