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;
}