题解 CF1400B 【RPG Protagonist】

听说这道题在赛时难倒了好多神仙。其实这只是一个暴力枚举。

首先肯定不能直接贪心做,如果对于某个人去最优的方案,第二个人就不一定最优了。

注意到 \(cnt\) 值很小。所以可以考虑枚举第一个人拿了多少把剑,剩余的肯定尽可能拿战斧。第二个人就可以贪心拿重量小的武器知道拿光,然后拿另外一个。

#include<bits/stdc++.h>
using namespace std;
#define ll long long 
int T,a,b,c,d,e,f,ans; 
inline int read()
{
	char C;
	int F=1,ANS=0;
	while (C<'0'||C>'9')
	{
		if (C=='-') F=-1;
		C=getchar();
	}
	while (C>='0'&&C<='9')
	{
		ANS=ANS*10+C-'0';
		C=getchar();
	}
	return F*ANS;
} 
int main()
{
	T=read();
	while (T--)
	{
		a=read(),b=read(),c=read(),d=read(),e=read(),f=read();
		if (e>f) swap(e,f),swap(c,d);
		ans=0;
		for (int i=0;i<=c;i++)
		{
			int aa=a-i*e;
			if (aa<0) break;
			int j=aa/f;
			int ii=b/e;
			if (ii>c-i) ii=c-i;
			int res=b-ii*e;
			int jj=res/f;
			if (jj>d-j) jj=d-j;
			ans=max(ans,i+j+ii+jj);
		}
		cout << ans << endl;
	}
	return 0;
}
posted @ 2020-10-24 19:57  Little09  阅读(146)  评论(0)    收藏  举报