fork download
  1. #include <iostream>
  2. using namespace std;
  3. #include <vector>
  4. #include <algorithm>
  5. bool OK(long long mid,long long x, long long y,long long n){
  6. long long m=min(x,y);
  7. if (mid<m){
  8. return false;
  9. }
  10. return (mid-m)/x+(mid-m)/y>=n-1;
  11. }
  12. void solve(){
  13. long long n,x,y;
  14. cin>>n>>x>>y;
  15. long long left=0;
  16. long long right=1e18;
  17. while(right-left>1){
  18. long long mid=(left+right)/2;
  19. if (OK(mid,x,y,n)){
  20. right=mid;
  21. }
  22. else{
  23. left=mid;
  24. }
  25. }
  26. cout<<right<<'\n';
  27. }
  28. int main(){
  29. solve();
  30. }
Success #stdin #stdout 0s 5316KB
stdin
5 1 2
stdout
4