fork download
  1. #include<bits/stdc++.h>
  2. #define ll long long
  3. #define ull unsigned long long
  4. #define nl '\n'
  5. #define mod 1000000007
  6. #define fori(i,n) for(ll i=0;i < n;i++)
  7. #define forn(i,n) for(ll i=1;i <= n;i++)
  8. #define forx(i,x,n) for(ll i=x;i < n;i++)
  9. #define sortx(x) sort(x.begin(),x.end())
  10. #define sorty(x) sort(x.begin(),x.end(),greater<>())
  11. using namespace std;
  12. /*#include <ext/pb_ds/assoc_container.hpp>
  13. #include <ext/pb_ds/tree_policy.hpp>
  14. using namespace __gnu_pbds;
  15. template<typename T>
  16. using ordered_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
  17. using namespace __gnu_pbds;
  18. #define ordered_multiset tree<int, null_type, less_equal<int>, rb_tree_tag, tree_order_statistics_node_update>
  19.  
  20. ll Mod(ll base, ll exp, ll MOD){
  21.   if(exp == 0) return 1;
  22.   ll res = Mod(base,exp/2,MOD);
  23.   if(exp % 2)
  24.   return (((res * res) % MOD)*base) % MOD;
  25.   else
  26.   return (res*res) % MOD;
  27. }
  28.  
  29. ll gcd(ll x,ll y){
  30.   ll b = min(x,y);
  31.   ll a = max(x,y);
  32.   while(b != 0){
  33.   ll temp = b;
  34.   b = a % b;
  35.   a = temp;
  36.   }
  37.   return a;
  38. }
  39.  
  40. ll div(vector<vector<ll>> &x){
  41.   for(ll i=1;i <= 1000000000;i++){
  42.   for(ll j=i;j <= 1000000000;j+=i){
  43.   x[j].push_back(i);
  44.   }
  45.   }
  46. }
  47.  
  48. ll fact[100001];
  49. ll inv[100001];
  50.  
  51. void pref(){
  52.   fact[0]=1;
  53.   inv[0]=1;
  54.   for(ll i=1;i <= 100000;i++){
  55.   fact[i] = (fact[i-1]*i)%mod;
  56.   }
  57.   for(ll i=1;i <= 100000;i++){
  58.   inv[i] = (inv[i-1]*Mod(i,mod-2,mod))%mod;
  59.   }
  60. }
  61.  
  62. bool prime(ll n){
  63.   int c=0;
  64.   for(ll i=1;i <= n;i++){
  65.   if(n % i == 0) c++;
  66.   if(c > 2) break;
  67.   }
  68.   if(c == 2) return true;
  69.   return false;
  70. }*/
  71.  
  72. ll findnum(ll t){
  73. ll c=0;
  74. while(t > 0){
  75. c += t % 2;
  76. t /= 2;
  77. }
  78. return c;
  79. }
  80.  
  81. int main(){
  82. ios::sync_with_stdio(false);
  83. cin.tie(nullptr);
  84. int n,m,k,ans=0;
  85. cin >> n >> m >> k;
  86. vector<ll> x(m+1);
  87. fori(i,m+1){
  88. cin >> x[i];
  89. }
  90. ll p = x[m];
  91. for(ll i=0;i < m;i++){
  92. ll t = p^x[i];
  93. ll ones = findnum(t);
  94. if(ones <= k) ans++;
  95. }
  96. cout << ans;
  97. }
Success #stdin #stdout 0s 5288KB
stdin
7 3 1
8
5
111
17
stdout
Standard output is empty