답안 #360501

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
360501 2021-01-28T04:29:56 Z amunduzbaev XOR Sum (info1cup17_xorsum) C++14
0 / 100
217 ms 4460 KB
#include <bits/stdc++.h>
using namespace std;
 
#define ff first
#define ss second
#define pb push_back
#define mp make_pair
#define ub upper_bound
#define lb lower_bound
#define sz(x) (int)x.size()
#define all(x) x.begin(), x.end()
#define rall(x) x.rbegin(),x.rend()
#define NeedForSpeed ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);

typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii; 
typedef pair<ll, ll> pll; 
typedef vector<ll> vll;
typedef vector<int> vii;
typedef vector<pll> vpll;
typedef vector<pii> vpii;
template<class T> bool umin(T& a, const T& b) {return a > b? a = b, true:false;}
template<class T> bool umax(T& a, const T& b) {return a < b? a = b, true:false;}
int msb(int val){return sizeof(int)*8-__builtin_clzll(val)-1;}
 
const int N = 1e6+5;
const int mod = 1e9+7;
const ll inf = 1e18;
const ld Pi = acos(-1);

#define MULTI 0

int n, m, s, k, ans, a[N];

int cnt[40], pr[40];

void solve(int t_case){
	cin>>n;
	for(int i=0;i<n;i++) cin>>a[i];
	ll res = 0;
	for(int i=0;i<n;i++){
		for(int j=0;j<31;j++) cnt[j] += (a[i] >> j & 1);
		for(int j=0;j<31;j++) 	if(a[i] >> j & 1 && !(a[i] >> (j+1) & 1)) pr[j]++;
	}
	//for(int j=0;j<4;j++) cout<<cnt[j]<<" ";
	//cout<<"\n";
	res |= (cnt[0] * (n - cnt[0]) & 1);
	for(int b=1;b<31;b++){
		if((cnt[b] * (n - cnt[b]) + pr[b-1] * (pr[b-1] - 1) / 2 + pr[b-1]) % 2) res |= (1 << b);
	}
	cout<<res<<"\n";
}

signed main(){
	NeedForSpeed
		
	if(!MULTI){
		solve(1);
	} else{
		int t;
		cin>>t;
		for(int t_case = 1; t_case <= t; t_case++) solve(t_case);
	}
	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 217 ms 4460 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 217 ms 4460 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 364 KB Output isn't correct
2 Halted 0 ms 0 KB -