Submission #480794

# Submission time Handle Problem Language Result Execution time Memory
480794 2021-10-18T04:32:10 Z minhcool cmp (balkan11_cmp) C++17
Compilation error
0 ms 0 KB
#include "cmp.h"
 
#define set_bit bit_set
#define get_bit bit_get
 
void remember(int n) {
  //edit this
	set_bit(1 + ((n >> 10) & 3));
	set_bit(5 + ((n >> 8) & 15));
	set_bit(21 + ((n >> 6) & 63));
	set_bit(85 + ((n >> 4) & 255));
	set_bit(341 + ((n >> 2) & 1023));
	set_bit(1365 + (n & 4095));
}
 
int compare(int b) {
  //edit this
  	int l = 1, r = 6;
  	while(l < r){
  		int mid = (l + r) >> 1;
  		int pw = 1, sum = 0;
		for(int i = 1; i <= mid; i++){
			sum += pw;
			pw *= 4;
		}  		
		int temp = (b >> (12 - 2 * mid)) & (pw - 1);
		if(!get_bit(sum + temp)) l = mid + 1;
		else r = mid;
	}
	int tempor = (b >> (12 - 2 * l)) & 3;
	if(tempor >= 2){
		for(int i = tempor + 1; i <= 3; i++){
			b += (1LL << (12 - 2 * mid));
			int sum = 0, pw = 1;
			for(int i = 1; i <= l; i++){
				sum += pw;
				pw *= 4;
			}
			int temp = (b >> (12 - 2 * l)) & (pw - 1);
			if(get_bit(sum + temp)) return -1;
		}
		return 0;
	}
	else{
		for(int i = tempor - 1; i >= 0; i--){
			b -= (1LL << (12 - 2 * mid));
			int sum = 0, pw = 1;
			for(int i = 1; i <= l; i++){
				sum += pw;
				pw *= 4;
			}
			int temp = (b >> (12 - 2 * l)) & (pw - 1);
			if(get_bit(sum + temp)) return 1;
		}
		return 0;
	}
	//return 0;
}

Compilation message

cmp.cpp: In function 'int compare(int)':
cmp.cpp:33:27: error: 'mid' was not declared in this scope
   33 |    b += (1LL << (12 - 2 * mid));
      |                           ^~~
cmp.cpp:46:27: error: 'mid' was not declared in this scope
   46 |    b -= (1LL << (12 - 2 * mid));
      |                           ^~~