Submission #1322092

#TimeUsernameProblemLanguageResultExecution timeMemory
1322092khoianh비교 (balkan11_cmp)C++20
0 / 100
0 ms332 KiB
#include<bits/stdc++.h> #include "cmp.h" using namespace std; typedef long long ll; const int mn = 1e5 + 5; ll p[5] = {0, (1 << 3), (1 << 3) + (1 << 6), (1 << 3) + (1 << 6) + (1 << 9)}; //ll wow[mn]; // //void print(ll x){ // for(int t = 11; t >= 0; --t) cout << ((x >> t) & 1); cout << "\n"; //} //void bit_set(ll a){ //// assert(wow[a] == 0); // cout << "set "; print(a); // wow[a] = 1; //} // //ll bit_get(ll a){ // cout << "get "; print(a); // return wow[a]; //} // //void aw_man(){ // memset(wow, 0, sizeof(wow)); //} ll hehe(ll a, ll k){ // cout << a << " " << (a % (1 << k)) << " " << (9 - (k - (k % 3))) / 3 << "\n"; k -= k % 3; return a / (1 << k) + (1 << (15 - k)); } ll haha(ll a, ll k){ // cout << "call " << k << " "; print(a); return bit_get(hehe(a, k)); } void remember(int a){ for(int i = 9; i >= 0; i -= 3){ bit_set(hehe(a, i)); } } int compare(int b){ if(!haha(b, 3)){ if(haha(b, 6)){ if(haha(b ^ (1 << 3), 3)){ if(b > (b ^ (1 << 3))) return 1; return -1; } if(haha(b ^ (1 << 4), 4)){ if(b > (b ^ (1 << 4))) return 1; return -1; } if(haha(b ^ (1 << 4) ^ (1 << 3), 4)){ if(b > (b ^ (1 << 3) ^ (1 << 4))) return 1; return -1; } if(b > (b ^ (1 << 5))) return 1; return -1; } if(haha(b, 9)){ if(haha(b ^ (1 << 6), 6)){ if(b > (b ^ (1 << 6))) return 1; return -1; } if(haha(b ^ (1 << 7), 7)){ if(b > (b ^ (1 << 7))) return 1; return -1; } if(haha(b ^ (1 << 7) ^ (1 << 6), 7)){ if(b > (b ^ (1 << 6) ^ (1 << 7))) return 1; return -1; } if(b > (b ^ (1 << 8))) return 1; return -1; } else { if(haha(b ^ (1 << 9), 9)){ if(b > (b ^ (1 << 9))) return 1; return -1; } // cout << (b ^ (1LL << 10)) << "wowie\n"; if(haha(b ^ (1 << 10), 10)){ if(b > (b ^ (1 << 10))) return 1; return -1; } if(haha(b ^ (1 << 10) ^ (1 << 9), 10)){ if(b > (b ^ (1 << 10) ^ (1 << 9))) return 1; return -1; } // cout << "???"; if(b > (b ^ (1 << 11))) return 1; return -1; } } else { if(!haha(b, 0)){ if(haha(b ^ (1 << 0), 0)){ if(b > (b ^ (1 << 0))) return 1; return -1; } if(haha(b ^ (1 << 1), 1)){ if(b > (b ^ (1 << 1))) return 1; return -1; } if(haha(b ^ (1 << 1) ^ (1 << 0), 1)){ if(b > (b ^ (1 << 0) ^ (1 << 1))) return 1; return -1; } if(b > (b ^ (1 << 2))) return 1; return -1; } else { return 0; } } } //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); // //int main(){ // ios_base::sync_with_stdio(false); // cin.tie(NULL); // if(fopen(".INP", "r")) { // freopen(".INP", "r", stdin); // freopen(".OUT", "w", stdout); // } // int testCase = 1; // cin >> testCase; // while(testCase--){ //// ll a = rng() % 4096, b = a; // ll a = 384 , b = 474; // remember(a); //// compare(b); // cout << a << " " << b << "\n" << compare(b) << "\n"; // } //}
#Verdict Execution timeMemoryGrader output
Fetching results...