# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
624529 | 2022-08-08T12:22:58 Z | Mr_Husanboy | 비교 (balkan11_cmp) | C++14 | 688 ms | 90576 KB |
#include "cmp.h" int delta[6]{1, 1, 1, 1, 1, 1}; void remember(int n) { for (int i = 0; i < 6; i++) bit_set((n >> i * 2) + delta[i]); } int compare(int b) { int l = 0, r = 6; while (l != r) { int mid = (l + r) / 2; if (bit_get((b >> mid * 2) + delta[mid])) r = mid; else l = mid + 1; } if (!l) return 0; int last_digit = (b >> l * 2 - 2) & 3; if (last_digit > 1) { if (bit_get((((b >> l * 2) << 2) + 3) + delta[l - 1])) return -1; return 1; } else { if (bit_get(((b >> l * 2) << 2) + delta[l - 1])) return 1; return -1; } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 688 ms | 90576 KB | ZERO POINTS: For a=63 and b=2676, correct answer is 1, got -1 |