제출 #1299430

#제출 시각아이디문제언어결과실행 시간메모리
1299430Sofiatpccmp (balkan11_cmp)C++20
100 / 100
3606 ms96156 KiB
#include "cmp.h" #include <bits/stdc++.h> using namespace std; #define sz(v) (int)v.size() void remember(int n) { int base = 4; vector<int> dig; int x = n; for(int j = 0; j < 6; j++){ dig.push_back(x%4); x/=4; //cout<<dig[j]<<" "; }//cout<<"\n"; int mx = 0; x = 0; for(int i = sz(dig)-1; i >= 0; i--){ x *= 4; x += dig[i]; bit_set(mx + x +1); //cout<<mx+x+1<<" "; mx *= 4; mx += 4; }//cout<<" bitset\n"; } int compare(int b) { vector<int> dig; int x = b; for(int j = 0; j < 6; j++){ dig.push_back(x%4); x/=4; //cout<<dig[j]<<" "; }//cout<<"\n"; vector<int> pos; int mx = 0; x = 0; for(int i = sz(dig)-1; i >= 0; i--){ x *= 4; x += dig[i]; pos.push_back(mx + x +1); mx *= 4; mx += 4; } int l = 0, r = 6; while(l != r){ int mid = (l+r)/2; int aux = bit_get(pos[mid]); if(aux)l = mid+1; else r = mid; } if(l == 6)return 0; reverse(dig.begin(),dig.end()); if(dig[l] == 0)return -1; if(dig[l] == 3)return 1; if(dig[l] == 2){ int x = bit_get(pos[l]+1); if(x == 1)return -1; return 1; } if(dig[l] == 1){ int x = bit_get(pos[l]-1); if(x == 1)return 1; return -1; } }

컴파일 시 표준 에러 (stderr) 메시지

cmp.cpp: In function 'int compare(int)':
cmp.cpp:67:1: warning: control reaches end of non-void function [-Wreturn-type]
   67 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...