显然可以三分小猫玩偶的数量,然后check。
但是要注意用double去check,因为会产生小数,用整数check会有误差,。
AC代码:
#pragma GCC optimize("-Ofast","-funroll-all-loops")
#include<bits/stdc++.h>
#define int long long
using namespace std;
int A,B,x11,y11,x2,y2,res;
inline double check(int mid){
int ta=A-mid*x11,tb=B-mid*y11;
return mid+min(1.0*ta/x2,1.0*tb/y2);
}
inline void solve(){
cin>>A>>B>>x11>>y11>>x2>>y2; res=0;
int l=0,r=min(A/x11,B/y11);
while(r-l>10){
int midl=l+(r-l)/3,midr=r-(r-l)/3;
if(check(midl)>=check(midr)) r=midr;
else l=midl;
}
for(int i=l;i<=r;i++) res=max(res,(int)check(i));
printf("%lld\n",res);
}
signed main(){
int T; cin>>T; while(T--) solve();
return 0;
}