# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1161774 | dragst | Snake Escaping (JOI18_snake_escaping) | C++20 | 18 ms | 31816 KiB |
#include <bits/stdc++.h>
using namespace std;
long long L, q, id[1000005], a[2000005], b[2000005], c[2000005], ans[1000005];
string s[1000005], val;
bool sortt(long long x, long long y)
{
long long i;
for (i=0; i<L; i++)
{
if (s[x][i]!=s[y][i]) {return (s[x][i]-'0')<(s[y][i]-'0');};
};
return true;
}
void solve(long long x)
{
long long i, j, k, h, l=0, r=(1LL<<L);
for (i=0; i<L; i++)
{
if (s[id[x]][i]=='0') {r=(l+r)/2;}
else if (s[id[x]][i]=='1') {l=(l+r)/2;}
else if ((x==1 || s[id[x]].substr(0, i+1)!=s[id[x-1]].substr(0, i+1)) && i<L-1)
{
k=l; h=(l+r)/2;
for (j=l; j<r; j+=2)
{
b[j]=a[k++];
b[j+1]=a[h++];
# | 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... |