fork download
  1. #include <iostream>
  2. #include<bits/stdc++.h>
  3. #include <vector>
  4. #include <stack>
  5. #include <queue>
  6. #include <deque>
  7. #include <utility>
  8. #include <set>
  9. #include <map>
  10. #include <unordered_set>
  11. #include <unordered_map>
  12. #include<algorithm>
  13. #define IOF ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
  14. #define ll long long
  15. #define ld long double
  16. #define cy cout << "YES" << '\n';
  17. #define cn cout << "NO" << '\n';
  18. using namespace std;
  19. vector<bool> prime(1e3+5 , 1);
  20. void is_prime()
  21. { prime[0]=0;
  22. prime[1]=0;
  23. for (ll i = 2; i*i <= 1e3+5; i++)
  24. { if(prime[i])
  25. for (ll j = i*i; j < 1e3+5; j+=i)
  26. prime[j]=0;
  27. }
  28. }
  29. int main()
  30. {IOF
  31. int t=1 ;
  32. while(t--)
  33. {
  34. int n , cnt = 1;cin >> n;
  35. ll arr[n] , m = 1;
  36. for (int i = 0; i < n; i++)
  37. cin >> arr[i];
  38. sort(arr,arr+n);
  39. m = arr[0];
  40. for (int i = 1; i < n; i++)
  41. m = __gcd(m , arr[i]);
  42.  
  43. set<ll> v;
  44. for (int i = 1; i <= m/i; i++)
  45. if(m%i==0)
  46. v.insert(i) , v.insert(m/i);
  47. cnt = v.size();
  48.  
  49. cout << cnt << '\n';
  50.  
  51.  
  52. }
  53. return 0 ;
  54. }
Success #stdin #stdout 0.2s 5216KB
stdin
Standard input is empty
stdout
64