Submission #668401

#TimeUsernameProblemLanguageResultExecution timeMemory
668401finn__cmp (balkan11_cmp)C++17
0 / 100
655 ms96036 KiB
#include <bits/stdc++.h> #include "cmp.h" size_t y[6] = { 1, 4097, 5121, 5377, 5441, 5457}; void remember(int n) { for (size_t i = 0; i < 6; i++) bit_set((n >> (2 * i)) + y[i]); } int compare(int b) { size_t u = 0, v = 6; while (u < v) { size_t m = (u + v) / 2; if (bit_get(b >> (2 * m) + y[m])) v = m; else u = m + 1; } if (!u) return 0; int last = ((b >> (2 * (u - 1))) & 3); if (!last) return -1; if (last == 3) return 1; if (last == 1) return bit_get(4 * (b >> (2 * u)) + y[u - 1]) ? 1 : -1; return bit_get(4 * (b >> (2 * u)) + 3 + y[u - 1]) ? -1 : 1; }

Compilation message (stderr)

cmp.cpp: In function 'int compare(int)':
cmp.cpp:24:34: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
   24 |         if (bit_get(b >> (2 * m) + y[m]))
      |                          ~~~~~~~~^~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...