/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 324.0 KiB
#2 Accepted 1ms 576.0 KiB
#3 Accepted 119ms 856.0 KiB
#4 Accepted 176ms 8.512 MiB
#5 Accepted 177ms 10.809 MiB
#6 Accepted 90ms 612.0 KiB
#7 Accepted 92ms 604.0 KiB
#8 Accepted 90ms 608.0 KiB
#9 Accepted 182ms 11.008 MiB
#10 Accepted 27ms 3.438 MiB

Code

#include <bits/stdc++.h>
using namespace std;

#define int long long
#define pi pair<int, int>
#define pii pair<int, pi>
#define fi first
#define se second
#ifdef _WIN32
#define getchar_unlocked _getchar_nolock
#endif
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

int n, A[200005], P[200005];

void solve(){
	cin >> n;
	for(int i = 1; i <= n; i++)cin >> A[i], P[i] = P[i - 1] ^ A[i];
	map <int, int> mp, cnt;
	mp[0] = 0; cnt[0] = 1;
	int ans = 0;
	for(int i = 1; i <= n; i++){
		ans += cnt[P[i]] * (i - 1) - mp[P[i]];
		mp[P[i]] += i;
		cnt[P[i]]++;
	}
	cout << ans << '\n';
}

main(){
	ios::sync_with_stdio(0);cin.tie(0);
	int tc = 1;
	cin >> tc;
	for(int tc1=1;tc1<=tc;tc1++){
		// cout << "Case #" << tc1 << ": ";
		solve();
	}
}

Information

Submit By
Type
Submission
Problem
P1096 Mr. Heart and the XOR Puzzle
Contest
Brain Booster #6
Language
C++17 (G++ 13.2.0)
Submit At
2024-10-03 15:48:19
Judged At
2024-11-11 02:49:58
Judged By
Score
100
Total Time
182ms
Peak Memory
11.008 MiB