Submission
Status:
PPPPPPPPPP
Subtask/Task Score:
100/100
Score: 100
User: Atom_SK
Problemset: วิศวกรรมข้อมูล
Language: cpp
Time: 0.002 second
Submitted On: 2025-09-14 19:37:45
#include<bits/stdc++.h>
using namespace std;
string s,q;
int main()
{
int a;
cin>>a;
int b[a];
for(int i=0;i<a;i++)
{
cin>>b[i];
}
int r;
int k=0;
int sum;
int ans=0;
for(int i=0;i<a;i++)
{
string m;
sum=b[i];
while(sum>0)
{
r=sum%2;
m+='0'+r;
sum=sum/2;
}
reverse(m.begin(),m.end());
s+=m;
}
reverse(s.begin(),s.end());
int t=1;
for(auto e:s)
{
ans+=t*(e-'0');
t*=2;
}
sort(b,b+a,greater<int>());
for(int i=0;i<a;i++)
{
string m;
sum=b[i];
while(sum>0)
{
r=sum%2;
m+='0'+r;
sum=sum/2;
}
reverse(m.begin(),m.end());
q+=m;
}
reverse(q.begin(),q.end());
int ans2=0;
t=1;
for(auto e:q)
{
ans2+=t*(e-'0');
t*=2;
}
cout<<max(ans,ans2);
return 0;
}