# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
494374 | 2021-12-15T10:55:43 Z | jasen_penchev | Brperm (RMI20_brperm) | C++14 | 3000 ms | 11120 KB |
#include "brperm.h" #include <iostream> #include <string> #define endl '\n' using namespace std; const int LOG = 20; string str = ""; int mem[LOG + 5][(1ll << LOG) + 5]; void init(int n, const char s[]) { for (int i = 0; i < n; ++ i) { str += s[i]; } for (int k = 0; k < 20; ++ k) { for (int i = 0; i < (1ll << k); ++ i) { int idx = 0; for (int j = 0; j < k; ++ j) { if ((i & (1ll << j))) idx += (1ll << (k - j - 1)); } mem[k][i] = idx; } } return; } int query(int pos, int k) { if (pos + (1ll << k) > str.size()) return 0; for (int i = 0; i < (1ll << k); ++ i) { int idx = mem[k][i]; if (str[pos + i] != str[pos + idx]) return 0; } return 1; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 65 ms | 4540 KB | Output is correct |
2 | Correct | 59 ms | 4572 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 65 ms | 4540 KB | Output is correct |
2 | Correct | 59 ms | 4572 KB | Output is correct |
3 | Correct | 102 ms | 5084 KB | Output is correct |
4 | Correct | 85 ms | 5080 KB | Output is correct |
5 | Correct | 88 ms | 5052 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Execution timed out | 3074 ms | 11120 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 65 ms | 4540 KB | Output is correct |
2 | Correct | 59 ms | 4572 KB | Output is correct |
3 | Correct | 102 ms | 5084 KB | Output is correct |
4 | Correct | 85 ms | 5080 KB | Output is correct |
5 | Correct | 88 ms | 5052 KB | Output is correct |
6 | Execution timed out | 3074 ms | 11120 KB | Time limit exceeded |
7 | Halted | 0 ms | 0 KB | - |