Submission #67832

# Submission time Handle Problem Language Result Execution time Memory
67832 2018-08-15T10:44:52 Z ege_eksi XOR Sum (info1cup17_xorsum) C++14
18 / 100
1600 ms 8320 KB
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<climits>
#include<algorithm>

using namespace std;

int *v;

int main()
{
	int n;
	scanf("%d",&n);
	
	v = new int[n];
	
	int x = 0;
	
	for(int i = 0 ; i < n ; i++)
	{
		scanf("%d",&v[i]);
		x = max(x , v[i]);
	}
	
	if(n < x){
		long long int ans = 0;
	
		int i , j;
	
		for(i = 0 ; i < n ; i++)
		{
			for(j = i ; j < n ; j++)
			{
				ans = ans ^ (v[i] + v[j]);
			}
		}
		
		printf("%lli",ans);
		
		return 0;
	}
	
	if(x < n)
	{
		int *cnt = new int[x+1];
		for(int i = 1 ; i <= x ; i++){
			cnt[i] = 0;
		}
		
		int i , j;
		
		for(i = 0 ; i < n ; i++)
		{
			cnt[v[i]]++;
		}
		/*
		for(i = 1 ; i <= x ; i++)
		{
			printf("%d: %d\n",i , cnt[i]);
		}
		*/
		long long int ans = 0;
		
		for(i = 1 ; i <= x ; i++)
		{
			if(cnt[i] != 0)
			{
				if((cnt[i] + cnt[i] * (cnt[i]-1) / 2) % 2 != 0)
				{
					ans = ans ^ (i+i);
				}
				
				for(j = i+1 ; j <= x ; j++)
				{
					if(cnt[j] != 0)
					{
						if((cnt[i] * cnt[j]) % 2 != 0)
						{
							ans = ans ^ (i+j);
						}
					}
				}
			}
		}
		
		printf("%lli" , ans);
		
		return 0;
	}
	
	return 0;
}

Compilation message

xorsum.cpp: In function 'int main()':
xorsum.cpp:14:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
  ~~~~~^~~~~~~~~
xorsum.cpp:22:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&v[i]);
   ~~~~~^~~~~~~~~~~~
# Verdict Execution time Memory Grader output
1 Correct 11 ms 248 KB Output is correct
2 Correct 10 ms 356 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 162 ms 4360 KB Output is correct
2 Correct 152 ms 4360 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 162 ms 4360 KB Output is correct
2 Correct 152 ms 4360 KB Output is correct
3 Execution timed out 1628 ms 8320 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 11 ms 248 KB Output is correct
2 Correct 10 ms 356 KB Output is correct
3 Execution timed out 1653 ms 8320 KB Time limit exceeded
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 11 ms 248 KB Output is correct
2 Correct 10 ms 356 KB Output is correct
3 Correct 162 ms 4360 KB Output is correct
4 Correct 152 ms 4360 KB Output is correct
5 Execution timed out 1628 ms 8320 KB Time limit exceeded
6 Halted 0 ms 0 KB -