Submission #67826

#TimeUsernameProblemLanguageResultExecution timeMemory
67826ege_eksiXOR Sum (info1cup17_xorsum)C++14
11 / 100
191 ms4640 KiB
#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 <= 4000){ 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 <= 4000) { int cnt[4001] = {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 (stderr)

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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...