fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int find_min_time(int time1, int time2, int n)
  5. {
  6. if (time1 < time2) swap(time1,time2);
  7. int left = 0, right = max(time1, time2)*n;
  8. while (left < right)
  9. {
  10. int middle = (left + right)/2;
  11. if ((middle - time2)/time2 + (middle - time2)/time1 + 1 >= n)
  12. right = middle;
  13. else
  14. {
  15. left = middle + 1;
  16. }
  17.  
  18. }
  19. return right;
  20. }
  21.  
  22. int main()
  23. {
  24. int time1,time2,n;
  25. cin >> n >> time1 >> time2;
  26. cout << find_min_time(time1,time2,n) << '\n';
  27. return 0;
  28. }
Success #stdin #stdout 0.01s 5424KB
stdin
5 1 2
stdout
4