답안 #497751

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
497751 2021-12-23T17:39:09 Z vinnipuh01 XOR Sum (info1cup17_xorsum) C++17
56 / 100
1600 ms 10844 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>
#pragma GCC optimization("g", on)
#pragma GCC optimize ("inline")
#pragma GCC optimization("03")
#pragma GCC optimization("unroll-loops")
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
 
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
 
*/

Compilation message

xorsum.cpp:12: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
   12 | #pragma GCC optimization("g", on)
      | 
xorsum.cpp:14: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
   14 | #pragma GCC optimization("03")
      | 
xorsum.cpp:15: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
   15 | #pragma GCC optimization("unroll-loops")
      | 
xorsum.cpp:16: warning: ignoring '#pragma comment ' [-Wunknown-pragmas]
   16 | #pragma comment(linker, "/stack:200000000")
      |
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 204 KB Output is correct
2 Correct 2 ms 204 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 86 ms 8796 KB Output is correct
2 Correct 90 ms 8128 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 86 ms 8796 KB Output is correct
2 Correct 90 ms 8128 KB Output is correct
3 Execution timed out 1651 ms 10844 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 204 KB Output is correct
2 Correct 2 ms 204 KB Output is correct
3 Correct 993 ms 684 KB Output is correct
4 Correct 1036 ms 1616 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 204 KB Output is correct
2 Correct 2 ms 204 KB Output is correct
3 Correct 86 ms 8796 KB Output is correct
4 Correct 90 ms 8128 KB Output is correct
5 Execution timed out 1651 ms 10844 KB Time limit exceeded
6 Halted 0 ms 0 KB -