# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1141619 | erering | cmp (balkan11_cmp) | C++20 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
#include "cmp.h"
void remember(int n) {
for(int i=1;i<=8;i++){
bit_set(n%3);
n/=3;
}
}
int compare(int b) {
vector<int> v;
for(int i=1;i<=8;i++){
v.pb(b%3);
b/=3;
}
int f=3*7
for(int i=v.size()-1;i>=0;i--){
int x=v[i];
int r=bit_get(f+x);
if(x==2 && r==0)return 1;
if(x==0 && r==0)return -1;
if(x==1 && r==0){
r=bit_get(f+x+1);
if(r==1)return -1;
else return 1;
}
f-=3;
}
}