fork(32) download
  1. #include<iostream>
  2. #define f(i,n) for(register lli i=0;i<n;i++)
  3. #define M 1000000007
  4. using namespace std;
  5. typedef long long int lli;
  6. lli gcd(lli a, lli b)
  7. {
  8. lli t;
  9. while (b)
  10. {
  11. t = a;
  12. a = b;
  13. b = t%b;
  14. }
  15. return a;
  16. }
  17. lli mod_of_lcm(lli a[],lli n)
  18. {
  19. lli ans=1;
  20. f(i,n)
  21. {
  22. if(a[i]!=1)
  23. {
  24. for(lli j=i+1;j<n;j++)
  25. {
  26. a[j]/=gcd(a[i],a[j]);
  27. //reducing all remaining numbers by thier gcd with currebt number
  28. }
  29. ans=(ans*a[i])%M;//mod
  30. }
  31. }
  32. return ans;
  33. }
  34. int main()
  35. {
  36. int t=1;
  37. lli n;
  38. f(h,t)
  39. {
  40. cin>>n;
  41. lli a[n];
  42. f(i,n)
  43. cin>>a[i];
  44. cout<<mod_of_lcm(a,n)<<endl;
  45. }
  46. //system("pause");
  47. return(0);
  48. }
  49.  
Success #stdin #stdout 0s 3300KB
stdin
3
2 6 15
stdout
30