Submission #67683

# Submission time Handle Problem Language Result Execution time Memory
67683 2018-08-15T08:37:51 Z tatatan XOR Sum (info1cup17_xorsum) C++11
0 / 100
1600 ms 8192 KB
#include <bits/stdc++.h>
#define mp make_pair
#define pb push_back
#define pii pair<int,int>
#define LL long long
#define st first
#define nd second
#define endl '\n'
using namespace std;

const int MAXN=1000005;
int n,a[MAXN],b[MAXN];
LL ans;

int main() {

	scanf("%d",&n);
	for(int i=0;i<n;++i)
		scanf("%d",&a[i]);
	for(int i=0;i<30;++i) {
		int xo=(1<<(i+1))-1,t1,t2,t3;
		LL cnt=0;
		for(int j=0;j<n;++j) {
			b[j]=xo&a[j];
		}
		sort(b,b+n);
		for(int j=0;j<n;++j) {
			t1=lower_bound(b,b+n,(1<<i)-b[j])-b;
			t1=n-t1;
			t2=lower_bound(b,b+n,(1<<(i+1))-b[j])-b;
			t2=n-t2;
			t3=lower_bound(b,b+n,(1<<(i+1))+(1<<i)-b[j])-b;
			t3=n-t3;
			cnt+=(t1-(t2-t3));
		}
		if(cnt&1) ans+=(1<<i);
	}
	int ans2=0;
	for(int i=0;i<n;++i)
		for(int j=0;j<n;++j)
			ans2^=a[i]+a[j];
	printf("%d/n",ans2);

}

Compilation message

xorsum.cpp: In function 'int main()':
xorsum.cpp:17:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
  ~~~~~^~~~~~~~~
xorsum.cpp:19:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&a[i]);
   ~~~~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Incorrect 32 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1661 ms 8192 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1661 ms 8192 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 32 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 32 ms 376 KB Output isn't correct
2 Halted 0 ms 0 KB -