Submission #927704

#TimeUsernameProblemLanguageResultExecution timeMemory
927704MuntherCarrotcmp (balkan11_cmp)C++17
91 / 100
1148 ms106840 KiB
#include <bits/stdc++.h> #include "cmp.h" using namespace std; // void bit_set(int add) // int bit_get(int add); void remember(int a){ for(int i = 0; i < 4; i++){ bit_set(a % 8 + i * 8 + 1); a /= 8; } } int compare(int b){ int dig[4]; for(int i = 0; i < 4; i++){ dig[i] = b % 8; b /= 8; } int i = 3; for(; i >= 0; i--){ int x = bit_get(dig[i] + i * 8 + 1); if(x == 0) break; } if(i == -1){ return 0; } else{ if(dig[i] == 7){ return 1; } if(dig[i] == 6){ int x = bit_get(7 + i * 8 + 1); return x == 1 ? -1 : 1; } if(dig[i] == 5){ int x = 0; for(int j = dig[i] + 1; j < 8; j++){ x |= bit_get(j + i * 8 + 1); } return x == 1 ? -1 : 1; } if(dig[i] == 4){ int x = 0; for(int j = dig[i] + 1; j < 8; j++){ x |= bit_get(j + i * 8 + 1); } return x == 1 ? -1 : 1; } if(dig[i] == 3){ int x = 0; for(int j = 0; j < dig[i]; j++){ x |= bit_get(j + i * 8 + 1); } return x == 1 ? 1 : -1; } if(dig[i] == 2){ int x = 0; for(int j = 0; j < dig[i]; j++){ x |= bit_get(j + i * 8 + 1); } return x == 1 ? 1 : -1; } if(dig[i] == 1){ int x = bit_get(0 + i * 8 + 1); return x == 1 ? 1 : -1; } if(dig[i] == 0){ return -1; } } return 0; } // by me
#Verdict Execution timeMemoryGrader output
Fetching results...