#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;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2498 ms |
82552 KB |
Output is correct - maxAccess = 10, score = 100 |