Submission #1322356

#TimeUsernameProblemLanguageResultExecution timeMemory
1322356edocmp (balkan11_cmp)C++20
0 / 100
412 ms102324 KiB
#include "cmp.h"
#include <bits/stdc++.h>

void remember(int n) {
    n += 4096;
    while(n) {
        bit_set(n);
        n >>= 2;
    }
}

int compare(int b) {
    b += 4096;
    for(int lvl = 5; ~lvl; --lvl) {
        int node = b >> (lvl * 2);
        if(!bit_get(node)) {
            int d = node % 4;
            if(!d) return -1;
            if(d == 3) return 1;
            if(d == 2) 
                return bit_get(node * 4 / 4 + 3) ? -1 : 1;
            else 
                return bit_get(node * 4 / 4) ? 1 : -1;
        }
    }
    return 0;
}

#Verdict Execution timeMemoryGrader output
Fetching results...