F. Magic Will Save the World
题解
1.一定是一部分怪物被水属性咒语打死,另一部分被火属性咒语打死
2.遍历所有“部分”,然后看各部分被水属性咒语打死需要累积多少秒的水咒语
这里用到了背包数组,(1e6·100)也可以?
code
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll a[105];
bool dp[1000005]={0};
ll solve()
{
ll w,f,n;
cin>>w>>f>>n;
ll sum=0;
for(int i=1;i<=n;i++ )
{
cin>>a[i];
sum+=a[i];
}
dp[0]=1;
for(int i=1;i<=n;i++)
{
for(int k=sum;k>=a[i];k--)
{
dp[k]=dp[k-a[i]]||dp[k];
}
}
ll ans=2e15;
for(ll i=0;i<=sum;i++)
{
if(dp[i]) ans=min(ans,max(i/w+(i%w!=0),(sum-i)/f+((sum-i)%f!=0)));
dp[i]=0;
}
return ans;
}
int main()
{
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int t;
cin>>t;
while(t--) cout<<solve()<<'\n';
return 0;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~