Submission #44100

#TimeUsernameProblemLanguageResultExecution timeMemory
44100dhkim0225cmp (balkan11_cmp)C++14
100 / 100
2460 ms94328 KiB
#include "cmp.h" int bases[4] = { 12, 10, 8, 6 }; void remember(int n) { for (int i = 4; i >= 1; i--) { int base = bases[i - 1]; if (n >= base) { int r = n % base; n /= base; bit_set(i * 1000 + r); } else if (n == 0) bit_set(i * 1000); else { bit_set(i * 1000 + n); n = 0; } } } int compare(int b) { int converted[5] = { 0, }; for (int i = 4; i >= 1; i--) { int base = bases[i - 1]; if (b >= base) { converted[i] = (b % base); b /= base; } else { converted[i] = b; break; } } for (int i = 1; i <= 4; i++) { int base = bases[i - 1]; if (bit_get(1000 * i + converted[i])) continue; else { if (converted[i] >= base/2) { for (int j = converted[i] + 1; j < base; j++) { if (bit_get(1000 * i + j)) return -1; } return 1; } else { for (int j = converted[i] - 1; j >= 0; j--) { if (bit_get(1000 * i + j)) return 1; } return -1; } } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...