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