Advertisement
jeff69

Untitled

Jan 12th, 2017
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.68 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. const int MX=1e5+5;
  4. typedef long long ll;
  5. vector<set<int>> adj;
  6. bool prime[MX];
  7. void seive()
  8. {
  9. for(int i=2;i<MX;i++)
  10. {
  11. if(prime[i])continue;
  12. for(int j=2*i;j<MX;j+=i)
  13. {
  14. prime[j]=1;
  15. adj[j].insert(i);
  16. }
  17. }
  18. }
  19. int n,ar[MX],vis[MX];
  20. int main()
  21. {
  22. adj.resize(MX+5);
  23. seive();
  24. cin>>n;
  25. for(int i=0;i<n;i++)
  26. {
  27. scanf("%d",ar+i);
  28. if(prime[ar[i]]==0)vis[ar[i]]++;
  29. for(auto u : adj[ar[i]])
  30. vis[u]++;
  31. }
  32. int ans=0;
  33. for(int i=2;i<MX;i++)
  34. ans=max(ans,vis[i]);
  35. cout<<max(ans,1);
  36. return 0;
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement