代码拉取完成,页面将自动刷新
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
const int N = 100010;
int n;
int a[N][25];
int main()
{
ios_base :: sync_with_stdio(false);
cin.tie(0); cout.tie(0);
cin >> n;
for (int i = 1; i <= n; ++i) {
int x;
cin >> x;
for (int j = 0; j <= 20; ++j) {
a[i][j] = (x >> j) & 1;
a[i][j] ^= a[i - 1][j];
}
}
LL ans = 0;
for (int j = 0; j <= 20; ++j) {
map<int, int> m;
m[0]++;
for (int i = 1; i <= n; ++i) {
int x = m[a[i][j] ^ 1];
ans += 1LL * (1 << j) * x;
m[a[i][j]]++;
}
}
cout << ans << '\n';
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。