Advertisement
Guest User

Untitled

a guest
Sep 21st, 2018
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.95 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. #define ll long long int
  3. using namespace std;
  4. int const MAXN=2e7+500;
  5.   map<int,int> mp;
  6.   int p[MAXN];
  7.   vector <int> v;
  8.   void ff (int n){
  9.       set <int> s;
  10.      int pf_idx=0,pf=v[pf_idx];
  11.      while (pf*pf<=n){
  12.         while (n%pf==0) {n/=pf, s.insert(pf); };
  13.         pf=v[++pf_idx];
  14.      }
  15.      if (n!=1) s.insert(n);
  16.      for (auto cur :  s) mp[cur]++;
  17.  
  18.   }
  19. int main (){
  20.  ios_base::sync_with_stdio(0);
  21.   cin.tie(0);
  22. //freopen("input.txt","r",stdin);
  23.   int n;
  24.   cin>>n;
  25.   int g=0;
  26.   int a[n];
  27.   for (int i=0;i<n;i++){
  28.      cin>>a[i];
  29.      g=__gcd(g,a[i]);
  30.   }
  31.   int ans=1e9;
  32.   for (int i=0;i<n;i++) a[i]/=g;
  33.  
  34.   for (int i=2;i<MAXN;i++)
  35.   if (p[i]==0){
  36.     v.push_back(i);
  37.      for (int j=2*i;j<MAXN;j+=i)
  38.          p[j]=1;
  39.   }
  40.   for (int i=0;i<n;i++) ff(a[i]);
  41.  
  42.   for (auto cur : mp){
  43.      if (cur.first!=1)
  44.         ans=min(ans,n-cur.second);
  45.  
  46.   }
  47.  
  48. if (ans ==1e9) cout<<-1;
  49. else cout<<ans;
  50.  
  51. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement