Submission #39467

# Submission time Handle Problem Language Result Execution time Memory
39467 2018-01-15T16:05:35 Z smu201111192 cmp (balkan11_cmp) C++14
91 / 100
1968 ms 99652 KB
#include "cmp.h"
void remember(int n){
    int a[4]; int pos = 3;
    while(pos >= 0){
        a[pos--] = (n % 8); n/=8;
    }
    int cur = 1;
    for(int i=0;i<4;i++){
        cur = cur * 8 + a[i];
        bit_set(cur);
    }
}
int compare(int b) {
    int n = b;
    int a[4]; int pos = 3;
    while(pos >= 0){
        a[pos--] = (n % 8); n/=8;
    }
    int cur = 1; int i = 0;
    for(;i<4;i++){
        cur = cur * 8 + a[i];
        int bit = bit_get(cur);
        if(!bit) break;
    }
    if(i == 4)return 0;
    cur /= 8;
    int chk = -1;
    if(a[i] == 0)return -1;
    if(a[i] == 7)return 1;
    if(a[i] <= 3){
        for(int k = 0 ; k < a[i]; k ++){
            int bit = bit_get(cur * 8 + k);
            if(bit == 1) chk = k;
            
        }
        if(chk == -1) return -1;
        else return 1;
    }
    else{
        for(int k = a[i] + 1; k <= 7; k++){
            int bit = bit_get(cur * 8 + k);
            if(bit == 1) chk=k;
        
        }
        if(chk == -1) return 1;
        else return -1;
    }
    return 1;
}
# Verdict Execution time Memory Grader output
1 Partially correct 1968 ms 99652 KB Output is partially correct - maxAccess = 11, score = 91