/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 2ms 532.0 KiB
#2 Accepted 1ms 536.0 KiB
#3 Accepted 111ms 1020.0 KiB
#4 Accepted 165ms 8.633 MiB
#5 Accepted 175ms 10.773 MiB
#6 Accepted 88ms 532.0 KiB
#7 Accepted 84ms 532.0 KiB
#8 Accepted 85ms 612.0 KiB
#9 Accepted 175ms 11.203 MiB
#10 Accepted 26ms 3.52 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-10-03 15:48:19
Judged By
Score
100
Total Time
175ms
Peak Memory
11.203 MiB