Submission #27723

#TimeUsernameProblemLanguageResultExecution timeMemory
27723RayaBurong25_1cmp (balkan11_cmp)C++14
100 / 100
1949 ms94976 KiB
#include "cmp.h" void remember(int n) { // printf("n %d : %d %d %d %d\n", n, 1 + n, 4097 + n/6, 5057 + n/48, 5177 + n/480); bit_set(1 + n); bit_set(4097 + n/6); bit_set(5057 + n/48); bit_set(5177 + n/480); } int compare(int b) { int i; if (!bit_get(5177 + b/480)) { // printf("%d\n", 5177 + b/480); if (b/480 < 6) { for (i = b/480 - 1; i >= 0; i--) { if (bit_get(5177 + i)) return 1; } return -1; } else { for (i = b/480 + 1; i < 12; i++) { // printf("%d\n", 5177 + i); if (bit_get(5177 + i)) return -1; } return 1; } } // printf("a\n"); if (!bit_get(5057 + b/48)) { // printf("%d\n", 5057 + b/48); int c = (b/48)%10; // printf("c %d\n", c); if (c < 5) { for (i = c - 1; i >= 0; i--) { if (bit_get(5057 + b/48 - c + i)) return 1; } return -1; } else { for (i = c + 1; i < 10; i++) { // printf("i %d %d\n", i, 5057 + b/48 - c + i); if (bit_get(5057 + b/48 - c + i)) return -1; } // printf("!\n"); return 1; } } // printf("b\n"); if (!bit_get(4097 + b/6)) { int c = (b/6)%8; if (c < 4) { for (i = c - 1; i >= 0; i--) if (bit_get(4097 + b/6 - c + i)) return 1; return -1; } else { for (i = c + 1; i < 8; i++) if (bit_get(4097 + b/6 - c + i)) return -1; return 1; } } // printf("c\n"); if (!bit_get(1 + b)) { int c = b%6; if (c < 3) { for (i = c - 1; i >= 0; i--) if (bit_get(1 + b - c + i)) return 1; return -1; } else { for (i = c + 1; i < 6; i++) if (bit_get(1 + b - c + i)) return -1; return 1; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...