fork download
  1. #include<iostream>
  2. #include<algorithm>
  3. using namespace std;
  4. typedef long long int lli;
  5. int main()
  6. {
  7. lli t,n,k,a[100000],t1,p,q;
  8. cin>>t;
  9. while(t--)
  10. {
  11. lli count=0,r=0,k1=0;
  12. cin>>n>>k;
  13. k -= 1;
  14. for(lli i=0;i<n;i++) cin>>a[i];
  15.  
  16. for(lli i=0;i<(n*(n/2));i++)
  17. {
  18. if(i%n==0 && i>=2*n)
  19. {
  20. k1 += n;count++;r++;
  21. }
  22.  
  23. if(i>=n*r+n+n/2 && i<(2+r)*n )
  24. {
  25. if(i<2*n)
  26. {
  27. a[i] = a[i%n] ^ a[n+n-1-i%n];
  28. }
  29. else
  30. {
  31. a[i] = a[k1+i%n] ^ a[k1*(count+r)+n-1-i%n];
  32. }
  33. }
  34. else
  35. {
  36. a[i] = a[k1+i%n] ^ a[k1*count+n-1-i%n];
  37. //cout<<a[i]<<" ";
  38. }
  39. }
  40. cout<<k<<endl;
  41. if( k%n != 0 || k%n==0)
  42. {
  43. p = n*((k/n)%3);
  44. q = p+(k%n);
  45.  
  46. // cout<<p<<" "<<q<<endl;
  47. for(lli i=p;i<=q;i++)
  48. {
  49. cout<<a[i]<<" ";
  50. }
  51.  
  52. if(p<n)
  53. {
  54. for(lli i=0;i<n-1-(k%n);i++)
  55. {
  56. cout<<a[q+(2*n)+i+1]<<" ";
  57. }
  58. }
  59. else
  60. {
  61. for(lli i=0;i<n-1-(k%n);i++)
  62. {
  63. cout<<a[q-n+i+1]<<" ";
  64. }
  65. }
  66. }
  67. }
  68. }
  69.  
Success #stdin #stdout 0s 4408KB
stdin
Standard input is empty
stdout
Standard output is empty