# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
564838 | Uzouf | Question (Grader is different from the original contest) (CEOI14_question_grader) | C++14 | 0 ms | 416 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
int encode(int n,int x,int y) {
int a=x,b=y;
for (int p=10;p>=0;p--) {
int i=0,j=0;
if ((1<<p)<=a) {
a-=(1<<p); i=1;
}
if ((1<<p)<=b) {
b-=(1<<p); j=1;
}
if (i>j) return p;
}
a=__builtin_popcount(x);
b=__builtin_popcount(y);
for (int p=5;p>=0;p--) {
int i=0,j=0;
if ((1<<p)<=a) {
a-=(1<<p); i=1;
}
if ((1<<p)<=b) {
b-=(1<<p); j=1;
}
if (i<j) return p+10;
}
}
int decode(int n,int q,int h) {
if (h>10) {
h-=10;
int nm=__builtin_popcount(q);
int k=nm;
for (int p=5;p>=0;p--) {
int i=0;
if ((1<<p)<=k) {
k-=(1<<p); i=1;
}
if (p==h) {
if (i==1) return 1;
else return 0;
}
}
}
else {
int k=q;
for (int p=10;p>=0;p--) {
int i=0;
if ((1<<p)<=k) {
k-=(1<<p); i=1;
}
if (p==h) {
if (i==0) return 1;
else return 0;
}
}
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |