西安网站公司,免费云手机无限时间版,企业在线查询,vi设计 站酷Example
input
6
15 5 3 2
15 5 4 3
15 5 2 1
15 5 5 1
16 7 5 2
20 5 7 3
output
4
-1
5
2
0
1 解析#xff1a; k个电#xff0c; 第一种为 ka 时#xff0c;只玩游戏 k-a; 第二种#xff0c;kb,一边玩一边充电 k-b 问完成n轮游戏的情况下#xff0c;优先第…
Example
input
6
15 5 3 2
15 5 4 3
15 5 2 1
15 5 5 1
16 7 5 2
20 5 7 3
output
4
-1
5
2
0
1 解析 k个电 第一种为 ka 时只玩游戏 k-a; 第二种kb,一边玩一边充电 k-b 问完成n轮游戏的情况下优先第一种情况问只玩游戏最多多少次。
完不成则-1.
#includebits/stdc.h
using namespace std;
typedef long long ll;
const int N1e55;
ll t,k,n,a,b;
int main(){scanf(%lld,t);while(t--){scanf(%lld%lld%lld%lld,k,n,a,b);if(kn*b){ //这里如果都 b 都不够则肯定不符题意 puts(-1); //上一行为什么等于由于题目采用 b 必须严格大于 b continue; //所以如果相等最后剩余一个 b 无法继续了 }ll sk-n*b; //全部用 b 剩余多少电量 ll res(s-1)/(a-b); //将剩余的电量补到 a 中康康能满足几个 a 的需求 resmin(res,n); //取最小值因为可能剩余很多但是 n 很小 printf(%lld\n,res);}return 0;
}