Submission #166668

#TimeUsernameProblemLanguageResultExecution timeMemory
166668LawlietQuestion (Grader is different from the original contest) (CEOI14_question_grader)C++14
0 / 100
7100 ms9140 KiB
int mask[930];

bool isActive(int v, int k) { return v & (1 << k); }

int encode (int n, int x, int y)
{
  int cnt = 1;

  for(int m = 0 ; cnt <= n ; m++)
    if( __builtin_popcount( m ) == 6 ) mask[ cnt++ ] = m;

  x = mask[ x ];
  y = mask[ y ];

  for(int j = 0 ; j < 12 ; j++)
    if( isActive( x , j ) && !isActive( y , j ) ) return j + 1;
}
int mask[930];

bool isActive(int v, int k) { return v & (1 << k); }

int decode (int n, int q, int h)
{
	h--;
	int cnt = 1;

  for(int m = 0 ; cnt <= n ; m++)
    if( __builtin_popcount( m ) == 6 ) mask[ cnt++ ] = m;

	if( isActive( mask[ q ] , h ) ) return 1;
	return 0;
}

Compilation message (stderr)

encoder.cpp: In function 'int encode(int, int, int)':
encoder.cpp:17:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
#Verdict Execution timeMemoryGrader output
Fetching results...