hihocoder1744 hohahola

思路:

二分。

实现:

 1 #include <bits/stdc++.h>
 2 using namespace std;
 3 typedef long long ll;
 4 const ll INF = 0x3f3f3f3f;
 5 ll n, x, y, z;
 6 bool check(ll m)
 7 {
 8     ll tmp = m * x - n * z;
 9     if (tmp <= 0) return true;
10     else if (y > z && tmp <= m * (y - z)) return true;
11     return false;
12 }
13 int main()
14 {
15     while (cin >> n >> x >> y >> z)
16     {
17         ll l = 0, r = INF, ans = -1;
18         while (l <= r)
19         {
20             ll m = l + r >> 1;
21             if (check(m))
22             {
23                 ans = m; l = m + 1;
24             }
25             else r = m - 1;
26         }
27         cout << ans << endl;
28     }
29     return 0;
30 }
原文地址:https://www.cnblogs.com/wangyiming/p/9093193.html