提交时间:2022-08-09 11:30:44

运行 ID: 55102

#include <bits/stdc++.h> using namespace std; const int N=2e6+5; long long n; long long a[N]; long long s[30],p[30]; long long ans=0; int main(){ scanf("%lld",&n); for(int i=1;i<=n;i++) scanf("%lld",&a[i]); p[0]=1; for(int j=1;j<=20;j++) p[j]=p[j]*2; for(int i=1;i<=n;i++){ for(int j=0;j<=20;j++){ s[j]+=a[i]%2; a[i]/=2; } } for(int i=1;i<=n;i++){ long long cnt=0; for(int j=20;j>=0;j--){ cnt=cnt*2; if(s[j]>0){ cnt++; s[j]--; } } ans+=cnt*cnt; } printf("%lld\n",ans); return 0; }