# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
22798 | 2017-04-30T07:31:41 Z | Jongwon Party(#988, gs13105) | Window Xor (KRIII5_WX) | C++14 | 1000 ms | 199520 KB |
#include <cstdio> #include <cstdlib> #include <cstring> #include <algorithm> #include <vector> using namespace std; typedef vector<int> V; int n; V pro(const V &a, const V &b) { V r, t; for(const int &x: a) for(const int &y: b) r.push_back((0LL+x+y) % n); sort(r.begin(), r.end()); if(r.size() == 1) return r; bool c = 0; for(int i = 0; i<r.size(); i++) { if(i != 0 && r[i-1] != r[i]) { if(c) t.push_back(r[i-1]); c = 1; } else c = !c; } if(c) t.push_back(r[r.size()-1]); return t; } V exp(const V &a, long long t) { if(t == 1) return a; if(t%2) return pro(exp(a, t-1), a); V h = exp(a, t/2); return pro(h, h); } int arr[100000]; int res[100000]; int main() { //freopen("in.txt", "r", stdin); //freopen("out.txt", "w", stdout); int k, i, j; long long t; scanf("%d%d%lld", &n, &k, &t); for(i = 0; i<n; i++) scanf("%d", &arr[i]); V a; for(i = 0; i<k; i++) a.push_back(i); a = exp(a, t); //for(int &x: a) // res[0] ^= arr[x]; for(i = 0; i<n; i++) { for(const int &x: a) res[i] ^= arr[(x+i)%n]; } for(i = 0; i<n; i++) printf("%d ", res[i]); return 0; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 2716 KB | Output is correct |
2 | Correct | 0 ms | 2716 KB | Output is correct |
3 | Correct | 0 ms | 2716 KB | Output is correct |
4 | Correct | 36 ms | 2716 KB | Output is correct |
5 | Correct | 23 ms | 2716 KB | Output is correct |
6 | Correct | 29 ms | 2716 KB | Output is correct |
7 | Correct | 26 ms | 2716 KB | Output is correct |
8 | Execution timed out | 1000 ms | 199520 KB | Execution timed out |
9 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1000 ms | 199504 KB | Execution timed out |
2 | Halted | 0 ms | 0 KB | - |