Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2019
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. #include <algorithm>
  2. #include <numeric>
  3. #include <string>
  4. #include <cstring>
  5. #include <set>
  6. #include <map>
  7. #include <vector>
  8. #include <queue>
  9. #include <iostream>
  10. #include <iterator>
  11. #include <cmath>
  12. #include <cstdio>
  13. #include <cstdlib>
  14. #include <sstream>
  15.  
  16. using namespace std;
  17.  
  18. typedef long long ll;
  19. typedef vector<int> VI;
  20. typedef vector<vector<int> > VVI;
  21. typedef pair<int, int> PII;
  22.  
  23.  
  24. #define FOR(i, x, y) for(ll i=x; i<=y; i++)
  25. #define FORD(i, x, y) for (ll i = x; i >= y; --i)
  26. #define REP(i, n) for(ll i=0; i<n; i++)
  27. #define REPD(i, n) for(ll i = n - 1; i >= 0; --i)
  28.  
  29. #define ALL(c) (c).begin(), (c).end()
  30. #define SORT(c) sort(ALL(c))
  31. #define UNIQ(c) SORT(c),(c).resize(unique(ALL(c))-(c).begin())
  32. #define SZ(c) (int)(c).size()
  33.  
  34. #define CLEAR(x) memset(x,0,sizeof x)
  35. #define FILL(x,v) memset(x,v,sizeof x)
  36.  
  37. #define pb push_back
  38. #define mp make_pair
  39. #define X first
  40. #define Y second
  41.  
  42.  
  43.  
  44. const double eps = 1.0e-11;
  45. const double pi = acos(-1.0);
  46.  
  47.  
  48. ll gcd(ll a, ll b) {
  49. ll res = 0;
  50. while(a && b) {
  51. if (a > b)
  52. a %= b;
  53. else
  54. b %= a;
  55. }
  56. return a + b;
  57. }
  58.  
  59. ll lcm(ll a, ll b) {
  60. return a * b / gcd(a, b);
  61. }
  62.  
  63.  
  64. int main() {
  65. ll n;
  66. cin >> n;
  67. ll res = 1;
  68.  
  69. FORD(t, n, max(1ll, n - 10000)) {
  70. if (t * (n - 1) * (n - 2) <= res)
  71. break;
  72. FORD(j, n - 1, max(1ll, n - 10000)) {
  73. if (j * (n - 2) * t <= res)
  74. break;
  75. FORD(i, n - 2, 1) {
  76. if (i * j * t <= res)
  77. continue;
  78. ll tmp = lcm(i, j);
  79. if (tmp * t <= res)
  80. continue;
  81. res = max(res, lcm(t, tmp));
  82. }
  83. }
  84. }
  85. cout << res << endl;
  86. return 0;
  87. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement