fork download
#include <iostream>
using namespace std;

string binary(int n) 
{
	string s = "" ;
    // Size of an integer is assumed to be 32 bits 
    for (int i = 31; i >= 0; i--) { 
        int k = n >> i; 
        if (k & 1) 
            s = s.append("1") ; 
        else
            s = s.append("0") ;
    }
    return s ;
}

int main() {
	
	int n,m,k ;
	cin >> n >> m >> k ;
	int a[m+1] ;
	for (int i = 0; i <= m; i++)
		cin >> a[i] ;
	
	int l = 0 ;
	string q = binary(a[m]) ;
	
	for (int i = 0; i < m; i++)
	{
		string z = binary (a[i]) ;
		int c = 0 ;
		for (int j = 0; j < n; j++)
		{
			if (q[j]!=z[j])
			{
				c++ ;
			}
		}
		
		if (c <= k)
			l++ ;
	}
	
	cout << l ;
	
	return 0;
}
Success #stdin #stdout 0s 15240KB
stdin
7 3 1
8
5
111
17
stdout
3