题解 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;
}