답안 #497018

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
497018 2021-12-22T08:29:41 Z vinnipuh01 XOR Sum (info1cup17_xorsum) C++17
18 / 100
1600 ms 4220 KB
#include <iostream>
#include <bits/stdc++.h>
#include <cmath>
#include <algorithm>
#include <vector>
#include <deque>
#include <set>
#include <stack>
#include <string>
#include <map>
#include <queue>
 
using namespace std;
 
const long long oo = 1000000000000000000;
 
long long int  sum, ans = 0, mx = 0, mn = 1000000000, num, pos;
 
 
/*
    ViHHiPuh
 
   (( `'-""``""-'` ))
     )-__-_.._-__-(
   / --- (o _ o) --- \
   \ .-* ( .0. ) *-. /
   _'-. ,_ '=' _, .-'_
  / `;#'#'# - #'#'#;` \
 \_)) -----'#'----- ((_/
      # --------- #
  '# ------- ------ #'
  /..-'# ------- #'-.\
  _\...-\'# -- #'/-.../_
  ((____)- '#' -(____))
 
 
    cout << fixed << setprecision(6) << x;
 
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
 
    freopen ( "sum.in", "r", stdin )
*/
 
int mp[ 10001 ];
map <int, int> mpp;
set <int> st, s;
vector <int> v;
 
int main () {
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
	int n;
	cin >> n;
	int a[ n + 1 ];
	for ( int i = 1; i <= n; i ++ ) {
		cin >> a[ i ];
		mx = max( mx, a[ i ] + 0ll );
	}
	if ( mx >= 5000 ) {
		for ( int i = 1; i <= n; i ++ ) {
			for ( int j = i; j <= n; j ++ ) {
				sum = a[ i ] + a[ j ];
				ans = ans ^ ( sum );
			}
		}
	}
	else {
		for ( int i = 1; i <= n; i ++ )
			mp[ a[ i ] ] ++;
		for ( int i = 1; i <= mx; i ++ ) {
			sum = mp[ i ] * ( mp[ i ] + 1 ) / 2;
			if ( sum % 2 )
				ans = ans ^ ( i + i );
			for ( int j = i + 1; j <= mx; j ++ ) {
				sum = mp[ i ] * ( mp[ j ] );
				if ( sum % 2 )
					ans = ans ^ ( i + j );
			}
		}
	}
	cout << ans;
}


/*

4
3 9 6 6

6
3
10
20


1 2 3
4 5 6 = 19

6 5 2
1 4 3 = 15

5 2

*/
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 204 KB Output is correct
2 Correct 6 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 83 ms 4220 KB Output is correct
2 Correct 84 ms 3936 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 83 ms 4220 KB Output is correct
2 Correct 84 ms 3936 KB Output is correct
3 Execution timed out 1687 ms 4172 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 204 KB Output is correct
2 Correct 6 ms 204 KB Output is correct
3 Execution timed out 1679 ms 588 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 6 ms 204 KB Output is correct
2 Correct 6 ms 204 KB Output is correct
3 Correct 83 ms 4220 KB Output is correct
4 Correct 84 ms 3936 KB Output is correct
5 Execution timed out 1687 ms 4172 KB Time limit exceeded
6 Halted 0 ms 0 KB -