fork download
  1. #include<bits/stdc++.h>
  2. #pragma GCC optimize("Ofast")
  3. #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
  4. using namespace std;
  5. #define int long long
  6. //#define int unsigned long long
  7. //define int __int128
  8. #define all(x) x.begin(),x.end()
  9. #define pb push_back
  10. #define pf push_front
  11. #define rall(x) x.rbegin(),x.rend()
  12. const int N=1e6+7,mod=998244353,MOD=1000000007,dom=0,inf=2147483647;//,INF=9223372036854775807;
  13. int n,a[N],x,cnt[N],ans=0;
  14. void solve(int TCS){
  15. cin>>n;
  16. for(int i=2;i<=n;i++){
  17. x=n/i;
  18. cnt[0]+=x,cnt[i]-=x;
  19. if(n%i!=0){
  20. cnt[1]++,cnt[n%i+1]--;
  21. }
  22. }
  23. for(int i=1;i<n;i++){
  24. cnt[i]+=cnt[i-1];
  25. }
  26. for(int i=1;i<=n;i++){
  27. cin>>a[i];
  28. ans^=a[i];
  29. }
  30. for(int i=1;i<n;i++){
  31. if(cnt[i]%2!=0){
  32. ans^=i;
  33. }
  34. }
  35. cout<<ans;
  36. }
  37. signed main(){
  38. ios::sync_with_stdio(false);
  39. cin.tie(NULL);
  40. //freopen("input.txt","r",stdin);
  41. //freopen("output.txt","w",stdout);
  42. int T=1;
  43. //cin>>T;
  44. for(int TCS=1;TCS<=T;TCS++){
  45. solve(TCS);
  46. }
  47. }
  48. //Bismillah
  49. //33 Subhanallah
  50. //33 Alhamdulillah
  51. //33 Allahu Akbar
  52. /*
  53.  
  54. */
  55.  
Success #stdin #stdout 0.01s 5256KB
stdin
Standard input is empty
stdout
Standard output is empty