fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4. const int maxn = 1e6+5;
  5. const int mod = 1e9 + 7;
  6. const int oo = 1e18+5;
  7. typedef pair<int, int> ii;
  8. typedef pair<int, pair<int, int>> iii;
  9. #define fi first
  10. #define se second
  11. #define read(_a, n) for(int i = 1; i <= n; i++) cin >> _a[i]
  12. #define For(i, _a, _b) for(int i = _a; i <= _b; i++)
  13. #define fastIO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
  14. #define File(_x,_y) if (fopen(_x, "r")) freopen(_x, "r", stdin)//,freopen(_y, "w", stdout)
  15. #define file "main"
  16. #define bit(x, i) ((x >> i) & 1)
  17. #define bat(x, i) (x (1 << i))
  18.  
  19. int n, a[maxn], res, K;
  20.  
  21. void print(int k)
  22. {
  23. bitset<6> b(k);
  24. cout << b << endl;
  25. }
  26.  
  27. int32_t main()
  28. {
  29. fastIO;
  30. File(file ".inp", file ".out");
  31.  
  32. cin >> n >> K;
  33. read(a, n);
  34. int N = (1 << n) - 1;
  35. for(int k = 1; k <= N; k++)
  36. {
  37. int g = 0;
  38. for(int i = 1; i <= n; i++)
  39. if(bit(k, i-1))
  40. {
  41. g = __gcd(g, a[i]);
  42. }
  43. // print(k); cout << g << endl;
  44. if(g >= K) res = max(res, 1ll*__builtin_popcountll(k));
  45. }
  46. cout << res;
  47. }
  48.  
  49.  
  50.  
Success #stdin #stdout 0s 5264KB
stdin
Standard input is empty
stdout
Standard output is empty