Submission #22365

#TimeUsernameProblemLanguageResultExecution timeMemory
22365AcornCkiGs14004Team (#40)Window Xor (KRIII5_WX)C++11
2 / 7
359 ms2800 KiB
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <memory.h> #include <math.h> #include <assert.h> #include <queue> #include <map> #include <set> #include <string> #include <algorithm> #include <iostream> #include <functional> using namespace std; typedef long long ll; typedef pair<int, int> Pi; #define Fi first #define Se second #define pb(x) push_back(x) #define sz(x) (int)x.size() #define rep(i, n) for(int i=0;i<n;i++) #define all(x) x.begin(), x.end() int N, K; int Y[100010]; int Z[100010]; int gc(int x, int y){return y == 0 ? x : gc(y, x % y); } void Do(int x){ int g = gc(x, N); for(int q=0;q<g;q++){ int tk = K % (2 * N / g); int C = 0; for(int i=0;i<tk;i++){ int t = (ll)(q + i * x) % N; C ^= Y[t]; } Z[q] = C; for(int i=(x+q)%N;i!=q;i=(i+x)%N){ Z[i] = Z[(i+N-x)%N]; Z[i] ^= Y[(i+N-x)%N]; Z[i] ^= Y[(i+N-x+(ll)tk*x) % N]; } } rep(i, N)Y[i] = Z[i], Z[i] = 0; } void solve(int tc){ scanf("%d%d", &N, &K); ll T; scanf("%lld", &T); for(int i=0;i<N;i++)scanf("%d", Y+i); int tmp = 1; while(T){ if(T & 1){ Do(tmp); } tmp = (tmp + tmp) % N; T >>= 1; } for(int i=0;i<N;i++)printf("%d ", Y[i]); puts(""); } int main(){ int Tc = 1; //scanf("%d", &Tc); for(int tc=1; tc<=Tc; tc++){ solve(tc); } return 0; }

Compilation message (stderr)

WX.cpp: In function 'void solve(int)':
WX.cpp:51:23: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d", &N, &K);
                       ^
WX.cpp:52:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  ll T; scanf("%lld", &T);
                         ^
WX.cpp:53:38: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  for(int i=0;i<N;i++)scanf("%d", Y+i);
                                      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...