# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
743749 | 2023-05-17T22:56:30 Z | boyliguanhan | 비교 (balkan11_cmp) | C++17 | 1278 ms | 96024 KB |
#include "cmp.h" int pos[6]{1, 4097, 5121, 5377, 5441, 5457}; void remember(int n) { for(int i = 0; i < 6; i++) bit_set(pos[i]+(n>>i*2)); } int compare(int b) { int l = 0, r = 6; while(l < r) { int mid = l+r>>1; if(bit_get(pos[mid]+(b>>mid*2)))r= mid; else l = mid+1; } if(!l) return 0; int d = b>>2*l-2&3; if(d>1) if(bit_get((((b>>l*2)<<2)+3)+pos[l-1])) return -1; else return 1; else if(bit_get(((b>>l*2)<<2)+pos[l-1])) return 1; else return -1; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1278 ms | 96024 KB | Output is correct - maxAccess = 10, score = 100 |