为什么为了这么个简单题发博客呢?
因为我又因为位运算运算符优先级的问题血了
#include <bits/stdc++.h>
using namespace std;
#define int long long
const int N = 100005;
int n,a[N][62],t[62];
signed main() {
ios::sync_with_stdio(false);
cin>>n;
int sum=0,tmp=0;
for(int i=1;i<=n;i++) {
cin>>tmp;
sum^=tmp;
for(int j=60;j>=0;--j) t[j]=(sum>>j)&1;
for(int j=60;j>=0;--j) a[i][j]=a[i-1][j]+((tmp>>j)&1);
if(sum==0) cout<<0<<endl;
else {
int k=60;
while(t[k]==0) --k;
cout<<a[i][k]<<endl;
}
}
}