当前位置: 首页 > 工具软件 > Alice > 使用案例 >

Alice收集玩偶

通远
2023-12-01

题目链接:Alice收集玩偶


显然可以三分小猫玩偶的数量,然后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;
}
 类似资料: