代码:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
long long int i=0,j=0,t=0,n=0,a[100010]={0},b[30]={0};
long long int x[30]={0},re=0;
int main()
{
scanf("%lld",&n);
for(i=0;i<n;i++)
{
scanf("%lld",&a[i]);
}
for(i=0;i<30;i++)
{ for(j=0;j<n;j++)
{
t=pow(2,i); if((a[j]/t%2)!=0) b[i]++;
}
}
for(i=0;i<30;i++)
{
re+=(b[i]*(b[i]-1)+2*b[i]*(n-b[i]))*pow(2,i);
}
printf("%lld",re);
return 0;
}