제출 #1288373

#제출 시각아이디문제언어결과실행 시간메모리
1288373dosts비교 (balkan11_cmp)C++20
100 / 100
2304 ms102324 KiB
#include "cmp.h" #include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2") //#define int long long #define pii pair<int,int> #define vi vector<int> #define ff first #define ss second #define sp << " " << #define all(x) x.begin(),x.end() #define big(x) ((int)(x.size())) using namespace std; const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9; void remember(int n) { int p = 1; for (int j = 11;j>=0;j-=2) { p*=4; p^=(n&(1<<j))?2:0; p^=(n&(1<<j-1))?1:0; bit_set(p+1); } } int compare(int b) { int p = 1; vi ps; for (int j = 11;j>=0;j-=2) { p*=4; p^=(b&(1<<j))?2:0; p^=(b&(1<<j-1))?1:0; ps.push_back(p); } int l = 1; int r = 6; while(l<=r) { int m = (l+r+1) >> 1; if (bit_get(ps[m-1]+1)) l = m+1; else r = m-1; } if (r == 6) return 0; int lmao = ps[r]; if (lmao&2) { if (lmao&1) return 1; if(bit_get((lmao^1)+1))return -1; return 1; } else { if (!(lmao&1)) return -1; if (bit_get((lmao^1)+1)) return 1; return -1; } }
#Verdict Execution timeMemoryGrader output
Fetching results...