답안 #447178

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
447178 2021-07-25T02:36:37 Z zaneyu 비교 (balkan11_cmp) C++14
100 / 100
2347 ms 102172 KB
#include "cmp.h"
void remember(int n) {
    n+=4096;
    while(n>1) bit_set(n),n/=4;
}
int compare(int b) {
    b+=4096;
    int l=0,r=6;
    bool hv=0;
    int d;
    while(l<=r){
        int mid=(l+r)/2;
        if(!bit_get(b>>(mid*2)) and mid!=6){
            l=mid+1;
            d=(b>>(mid*2));
            hv=1;
        }
        else r=mid-1;
    }
    if(!hv) return 0; 
    if((d%4)>1){
        if(bit_get(d/4*4+3)) return -1;
        return 1;
    }
    else{   
        if(bit_get(d/4*4)) return 1;
        return -1;
    }
}

# 결과 실행 시간 메모리 Grader output
1 Correct 2347 ms 102172 KB Output is correct - maxAccess = 10, score = 100