# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1168678 | xnqs | Snake Escaping (JOI18_snake_escaping) | C++20 | 2093 ms | 18036 KiB |
#pragma GCC optimize("Ofast")
#include <iostream>
#include <fstream>
#include <vector>
#include <queue>
#include <utility>
#include <algorithm>
int x, q;
std::string str;
int dp_subsets[1<<20];
int dp_supersets[1<<20];
void precalc_dp() {
for (int i = 0; i < (1<<x); i++) {
dp_subsets[i] = str[i] - '0';
}
for (int i = 0; i < x; i++) {
for (int mask = 0; mask < (1<<x); mask++) {
if (mask&(1<<i)) {
dp_subsets[mask] += dp_subsets[mask^(1<<i)];
}
}
}
for (int i = 0; i < (1<<x); i++) {
dp_supersets[i] = str[i] - '0';
}
for (int i = 0; i < x; i++) {
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |