# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
22504 | 2017-04-30T05:09:12 Z | 버거킹 송죽SK점 우수고객(#1039, Namnamseo, khsoo01) | Window Xor (KRIII5_WX) | C++14 | 1000 ms | 10612 KB |
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int,int> pp; typedef pair<ll,ll> pll; #define all(x) (x).begin(),(x).end() #define pb push_back #define x first #define y second int n, k; ll t; int a[2][100010]; int sp[100010][20]; void trans(int h, int F, int T){ ll w = (1ll << h) % n; for(int i=0; i<n; ++i){ sp[i][0] = a[F][i]; } for(int i=1; i<=16; ++i){ for(int j=0; j<n; ++j){ sp[j][i]=sp[j][i-1] ^ sp[(j+w*(1<<(i-1)))%n][i-1]; } } for(int i=0; i<n; ++i){ a[T][i] = 0; ll p=i; for(int j=16; 0<=j; --j){ if(1&(k>>j)){ a[T][i] ^= sp[p][j]; p += w*(1<<j)%n; p %= n; } } } } int main() { //freopen("out.txt", "w", stdout); //n=1e5; k=n/2; t=12345678987654; scanf("%d%d%lld", &n, &k, &t); int F=0, T=1; for(int i=0; i<n; ++i){ //a[F][i]=rand()%int(1e9); scanf("%d", &a[F][i]); } for(int i=62; 0<=i; --i){ if(1 & (t>>i)){ trans(i, F, T); swap(F, T); } } for(int i=0; i<n; ++i){ printf("%d ", a[F][i]); } return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 10612 KB | Output is correct |
2 | Correct | 0 ms | 10612 KB | Output is correct |
3 | Correct | 0 ms | 10612 KB | Output is correct |
4 | Execution timed out | 1000 ms | 10612 KB | Execution timed out |
5 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 10612 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |