
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 3output
4
-1
5
2
0
1
解析:
k个电,
第一种为 k>a 时,只玩游戏 k-a;
第二种,k>b,一边玩一边充电 k-b
问完成n轮游戏的情况下,优先第一种情况,问只玩游戏最多多少次。
完不成则-1.
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e5+5;
ll t,k,n,a,b;
int main(){
	scanf("%lld",&t);
	while(t--){
		scanf("%lld%lld%lld%lld",&k,&n,&a,&b);
		if(k<=n*b){			//这里如果都 b 都不够,则肯定不符题意 
			puts("-1");		//上一行为什么等于,由于题目采用 b 必须严格大于 b 
			continue;		//所以如果相等,最后剩余一个 b ,无法继续了 
		}
		ll s=k-n*b;			//全部用 b 剩余多少电量 
		ll res=(s-1)/(a-b);	//将剩余的电量补到 a 中,康康能满足几个 a 的需求 
		res=min(res,n);		//取最小值,因为可能剩余很多,但是 n 很小 
		printf("%lld\n",res);
	}
	return 0;
} 

















