fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int f(vector<int>& a,int n) {
  5. unordered_map<int,int> freq;
  6.  
  7. for(int i=0;i<n;i++) {
  8. int num=a[i];
  9.  
  10. for(int j=1;j*j<=num;j++) {
  11. if(num%j==0) {
  12.  
  13. freq[j]++;
  14. if(j!=num/j) {
  15. freq[num/j]++;
  16. }
  17.  
  18.  
  19. }
  20. }
  21. }
  22.  
  23. int x=1;
  24. for(auto it=freq.begin();it!=freq.end();it++) {
  25. int factor=it->first;
  26. int count=it->second;
  27. if(count>=2) {
  28. x=max(x,factor);
  29.  
  30. }
  31. }
  32.  
  33. return x;
  34. }
  35.  
  36. int main() {
  37. int n;
  38. cin>>n;
  39. vector<int> a(n);
  40.  
  41. for(int i=0;i<n;i++) {
  42. cin>>a[i];
  43. }
  44.  
  45. cout<<f(a,n)<<endl;
  46. return 0;
  47. }
  48.  
Success #stdin #stdout 0.01s 5292KB
stdin
4
5 10 15 2
stdout
5