fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. #define int long long int
  4.  
  5. int fun(int t, int x, int y)
  6. {
  7. int cnt = 0;
  8. cnt = (t / x) + (t / y);
  9. return cnt;
  10. }
  11.  
  12. signed main()
  13. {
  14.  
  15. int n, i, x, y, cnt;
  16.  
  17. cin >> n >> x >> y;
  18.  
  19. n--;
  20.  
  21. int l = 0;
  22. int r = 1e18;
  23.  
  24.  
  25. // binary search on time
  26.  
  27. while (l <= r)
  28. {
  29.  
  30. int m = l + (r - l) / 2;
  31. cnt = fun(m, x, y);
  32.  
  33. if (cnt < n)
  34. l = m + 1;
  35. else
  36. r = m - 1;
  37. }
  38.  
  39.  
  40.  
  41. cout << min(x, y) + l << endl;
  42.  
  43.  
  44. }
Success #stdin #stdout 0s 5516KB
stdin
4 1 1
stdout
3