XJB暴力跑一下。。。。感觉应该有更好的做法
#include<bits/stdc++.h>
using namespace std;
int main()
{
long long c,hr,wr,hb,wb,i,ans,limit=10000000;
while(~scanf("%lld%lld%lld%lld%lld",&c,&hr,&hb,&wr,&wb))
{
ans=0;
if(c/wb<limit)
{
for(i=c/wb;i>=0;i--)
{
ans=max(ans,((c-i*wb)/wr)*hr+i*hb);
}
}
else if(c/wr<limit)
{
for(i=c/wr;i>=0;i--)
{
ans=max(ans,((c-i*wr)/wb)*hb+i*hr);
}
}
else
{
if(hr*wb<hb*wr)
{
swap(hr,hb);
swap(wr,wb);
}
for(i=min(limit,c/wb);i>=0;i--)
{
ans=max(ans,((c-i*wb)/wr)*hr+i*hb);
}
}
printf("%lld\n",ans);
}
return 0;
}