Submission #480792

#TimeUsernameProblemLanguageResultExecution timeMemory
480792minhcoolcmp (balkan11_cmp)C++17
Compilation error
0 ms0 KiB
#include "cmp.h" #define set_bit bit_set #define get_bit bit_get void remember(int n) { //edit this set_bit(1 + (n >> 10) & 3); set_bit(5 + (n >> 8) & 15); set_bit(21 + (n >> 6) & 63); set_bit(85 + (n >> 4) & 255); set_bit(341 + (n >> 2) & 1023); set_bit(1365 + n & 4095); } int compare(int b) { //edit this int l = 1, r = 6; while(l < r){ int mid = (l + r) >> 1; int pw = 1, sum = 0; for(int i = 1; i <= mid; i++){ sum += pw; pw *= 4; } int temp = (b >> (12 - 2 * mid)) & (pw - 1); if(!get_bit(sum + temp)) l = mid + 1; else r = mid; } int tempor = (b >> (12 - 2 * mid)) & 3; if(tempor >= 2){ for(int i = tempor + 1; i <= 3; i++){ b += (1LL << (12 - 2 * mid)); int sum = 0, pw = 1; for(int i = 1; i <= l; i++){ sum += pw; pw *= 4; } int temp = (b >> (12 - 2 * mid)) & (pw - 1); if(get_bit(sum + temp)) return -1; } return 0; } else{ for(int i = tempor - 1; i >= 0; i--){ b -= (1LL << (12 - 2 * mid)); int sum = 0, pw = 1; for(int i = 1; i <= l; i++){ sum += pw; pw *= 4; } int temp = (b >> (12 - 2 * mid)) & (pw - 1); if(get_bit(sum + temp)) return 1; } return 0; } //return 0; }

Compilation message (stderr)

cmp.cpp: In function 'void remember(int)':
cmp.cpp:8:12: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
    8 |  set_bit(1 + (n >> 10) & 3);
      |          ~~^~~~~~~~~~~
cmp.cpp:9:12: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
    9 |  set_bit(5 + (n >> 8) & 15);
      |          ~~^~~~~~~~~~
cmp.cpp:10:13: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
   10 |  set_bit(21 + (n >> 6) & 63);
      |          ~~~^~~~~~~~~~
cmp.cpp:11:13: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
   11 |  set_bit(85 + (n >> 4) & 255);
      |          ~~~^~~~~~~~~~
cmp.cpp:12:14: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
   12 |  set_bit(341 + (n >> 2) & 1023);
      |          ~~~~^~~~~~~~~~
cmp.cpp:13:15: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
   13 |  set_bit(1365 + n & 4095);
      |          ~~~~~^~~
cmp.cpp: In function 'int compare(int)':
cmp.cpp:30:31: error: 'mid' was not declared in this scope
   30 |  int tempor = (b >> (12 - 2 * mid)) & 3;
      |                               ^~~