Submission #39467

#TimeUsernameProblemLanguageResultExecution timeMemory
39467smu201111192cmp (balkan11_cmp)C++14
91 / 100
1968 ms99652 KiB
#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 timeMemoryGrader output
Fetching results...