# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
108074 | Diuven | cmp (balkan11_cmp) | C++14 | 2498 ms | 82552 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "cmp.h"
const int P[4] = {12, 10, 8, 6}, tot = 12*10*8*6;
void remember(int n) {
int base = 1, now = tot;
for(int i=0, p, x; i<4; i++){
p = P[i], now /= p, x = n/now;
bit_set(base + x);
base += p, n %= now;
}
}
int compare(int m) {
int base = 1, now = tot;
for(int i=0, p, x; i<4; i++){
p = P[i], now /= p, x = m/now;
if(bit_get(base+x)){
base += p, m %= now;
}
else if(x<p/2){
for(int j=x-1; j>=0; j--)
if(bit_get(base+j)) return 1;
return -1;
}
else {
for(int j=x+1; j<p; j++)
if(bit_get(base+j)) return -1;
return 1;
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |