Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
55191 Ryan123 线性基 (basis) C++ 通过 100 18 MS 264 KB 652 2022-08-10 11:40:57

Tests(10/10):


#include <bits/stdc++.h> using namespace std; typedef long long ll; int cnt[25],n; priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> > > q; int main() { ios::sync_with_stdio(false); cin.tie(0),cout.tie(0); cin>>n; for(int i=1,x; i<=n; i++) { cin>>x; for(int j=0; j<20; j++) if((1<<j)&x) cnt[j]++; } for(int i=0; i<20; i++) q.push(make_pair(cnt[i],i)); ll sum=0,rec=(1<<20)-1,lst=0; while(!q.empty()) { pair<int,int> now=q.top(); q.pop(); sum+=rec*rec*(now.first-lst); lst=now.first; rec^=(1<<now.second); } cout<<sum<<'\n'; return 0; }


测评信息: