Submission #1295370

#TimeUsernameProblemLanguageResultExecution timeMemory
1295370lambd47cmp (balkan11_cmp)C++20
0 / 100
380 ms93092 KiB
#include<bits/stdc++.h> #include "cmp.h" using namespace std; #define L(i,j,k) for(int i=(j);i<=(k);i++) #define R(i,j,k) for(int i=(j);i<=(k);i++) #define sz(v) ((int)(v).size()) #define all(v) (v).begin(),(v).end() vector<int> d={1,10,80,600,5000}; void remember(int n) { L(i,0,3)bit_set((n>>(9-3*i))+d[i]); } int compare(int b) { int l=0; int r=3; int ans=-1; while(l<r){ int m=(l+r)/2; if(bit_get(d[m]+(b>>(9*3-m)+d[m]))){ ans=m; l=m+1; } else r=m-1; } if(ans==3){ return 0;//sao iguais } ans++; int baux=b>>(9-3*ans); int idat=baux+d[ans]; int dif=0; int resto=baux%8; if(resto>=4){ while(dif+resto<8){ dif++; if(bit_get(idat+dif))return -1; } return 1; } else{ while(dif+resto>0){ dif--; if(bit_get(idat+dif))return 1; } return -1; } }
#Verdict Execution timeMemoryGrader output
Fetching results...