int pp[10001],cnt=1;
int encode (int n, int x, int y) {
if (!cnt)
for (int i=31;i<(1<<12);++i)
if (__builtin_popcount(i) == 6)pp[cnt++]=i;
x = pp[x];
y = pp[y];
for (int i=0;i<=12;++i){
if ((x&(1<<i)) && !(y&(1<<i)))return i+1;
}
return 0;
}
int pp[10001],cnt=1;
int decode (int n, int q, int h) {
if (!cnt){
for (int i=31;i<(1<<12);++i)
if (__builtin_popcount(i) == 6)pp[cnt++]=i;
}
q = pp[q];
return (q&(1<<(h)));
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Incorrect |
0 ms |
756 KB |
the encoded value must be greater than or equal to 1 |
2 |
Incorrect |
0 ms |
736 KB |
the encoded value must be greater than or equal to 1 |