#include <bits/stdc++.h>
#include "cmp.h"
using namespace std;
typedef long long ll;
int v[] = {0, 10, 10, 8, 6};
int p[] = {0, 4800, 480, 48, 6, 1};
int t[] = {0, 1, 11, 21, 29};
void remember(int a) {
for (int i = 4; i >= 1; i--) {
int x = (a / p[i + 1]) % v[i];
bit_set(x + t[i]);
}
}
int compare(int b) {
int i = 1, x;
for (; i <= 4; i++) {
x = (b / p[i + 1]) % v[i];
if (bit_get(x + t[i]) == 0) {
break;
}
}
if (i == 5) {
return 0;
}
int pos = t[i];
int l = 0, r = v[i] - 1;
if (x - l < r - x) {
for (int i = l; i < x; i++) {
if (bit_get(i + pos) == 1) {
return 1;
}
}
return -1;
} else {
for (int i = r; i > x; i--) {
if (bit_get(i + pos) == 1) {
return -1;
}
}
return 1;
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
1358 ms |
82512 KB |
Output is correct - maxAccess = 10, score = 100 |