제출 #1130219

#제출 시각UTC-0아이디문제언어결과실행 시간메모리
11302192024-12-27 15:45:37iframe_Snake Escaping (JOI18_snake_escaping)C++20
100 / 100
1172 ms28232 KiB
#include <algorithm>
#include <iostream>
int *a[21], d[1<<21];
using ll = long long;
const ll X = (1<<22) - 1;
int res[1000000];
ll b[1000000];
void dfs(int l, int r, int d, int s){
if(!s)
for(; l<r; ++l) res[b[l] & X] = a[d][0];
else{
int s1 = r, s2 = r;
for(int i=1<<20; i; i/=2)
if(s2>=i+l && ((b[s2-i] >> (60-d*2))&3) >= 2)
s2 -= i;
for(int i=1<<20; i; i/=2)
if(s1>=i+l && ((b[s1-i] >> (60-d*2))&3) >= 1)
s1 -= i;
if(l != s1){
for(int i=0; i<s; ++i)
a[d+1][i] = a[d][i];
dfs(l, s1, d+1, s/2);
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...