牛客小白月赛39--E迷惘
#include<iostream>
#define ll long long
using namespace std;
ll a[10005];
ll n,m;
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cin>>n;
ll ans2=0;
while(n--){
cin>>m;
ll k=0;
int s=-1;
while(m){
//转为二进制数并记录
a[k++]=m%2;
//记录第一个非0的位置
if(s==-1&&a[k-1]) s=k-1;
m/=2;
}
ll ans=0;
//s==-1说明,答案是0,不用算了
if(s!=-1){
while(s<k){
ans=2*ans+a[s++];
}
ans2+=ans;
}
}
cout<<ans2<<endl;
return 0;
}