题目:
题目连接
该题的题意是:
Vova在打电脑游戏,他很想打完这局游戏
①起初,他的电脑有k的电量, 这局游戏有n回合。
②每次有三种选择:
- 当前电量大于a时, 他可以选择只打游戏, 然后打完这局电量减少a
- 当前电量大于b(b <a)时, 他可以选择边打游戏边充电, 然后打完这局电量减少b
- 如果当前电量不大于a和b, 他什么也不能做, 并且失去游戏
③求,如果Vova能打完这局游戏的话, 输出他 选择只打游戏的最大次数,
如果不能打完这局输出-1.
思路:
该题就是二分查找(不好意思, 我看到标签了罒ω罒),
为什么是二分呢, 因为 如果答案存在, 他的答案应该是连续, 这是二分的必要条件(自己的总结, 如果答案不满足连续性 不要二分)。
其他的看代码吧。
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const ll up = 1e9+1;
ll check(ll k, ll n, ll a, ll b