当前位置: 首页 > article >正文

F. Magic Will Save the World

首先积攒了能量打了怪再积攒是没有意义的,可以直接积攒好,然后一次性进行攻击

那么怎么进行攻击了?可以尽量的多选怪物使用水魔法攻击剩余的再用火魔法进行攻击,

也就是只要存在合法的体积(即装入背包的怪物的体积之和)就可以用水魔法攻击,然后维护最小值就行了

#include<bits/stdc++.h>
using namespace std;
using ll=long long;
const int N = 2e5+10;

void solve()
{
    int w,f,n;cin>>w>>f>>n;
    ll sum_s = 0;
    vector<int>a(n+10);
    for(int i=0;i<n;i++){
    	cin>>a[i];
    	sum_s+=a[i];
    }
    
    vector<ll>dp(sum_s+10);
    
    
    dp[0] = 1;
    for(int i=0;i<n;i++)
     for(int j=sum_s;j>=a[i];--j)
      dp[j]|= (dp[j] | dp[j-a[i]]);
    
    
    ll ans = 1e12;
    for(ll i=0;i<=sum_s;i++)
     if(dp[i]){
     	ans = min(ans,max((i+w-1)/w,(sum_s-i+f-1)/f));
     }
     
    cout<<ans<<"\n";
    
}

int main()
{
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	int _;cin>>_;
	while(_--)solve();
	return 0;
}


http://www.kler.cn/news/150302.html

相关文章:

  • CSS3样式详解之圆角、阴影及变形
  • 创建conan包-不同/相同repo中的配方和来源
  • 引领Serverless构建之路,亚马逊云科技re:Invent 2023首日主题演讲重磅发布
  • AIGC: 关于ChatGPT中输出表格/表情/图片/图表这些非文本的方式
  • 移动开发新风向?HarmonyOS、车载、音视频、flutter
  • 精调llama模型
  • Kubernetes之kubeadm集群监控篇—node-exporter部署
  • 优雅退出:避免Spring Boot应用程序在推出JVM时的DestroyJavaVM异常
  • 外汇天眼:外汇市场中的“双向交易”是什么意思?
  • Golang中WebSocket和WSS的支持
  • 芯片及设计制造 - 小记
  • Could NOT find resource [logback-test.xml]
  • 激光切割机切割工件出现锯齿是什么原因?
  • RHCSA---基本命令使用
  • Linux高级IO
  • 利用pytorch实现卷积形式的ResNet
  • win10 下 mvn install 报错:编码GBK不可映射字符
  • vue项目运行时,报错:ValidationError: webpack Dev Server Invalid Options
  • 谨慎Apache-Zookeeper-3.5.5以后在CentOS7.X安装的坑
  • 数据结构中的二分查找(折半查找)
  • vue+el-tooltip 封装提示框组件,只有溢出才提示
  • Findreport中框架图使用的注意事项
  • [原创][2]探究C#多线程开发细节-”线程的无顺序性“
  • c++实现程序单例运行的两种方式
  • Azure Machine Learning - 创建Azure AI搜索索引
  • Spring-AOP与声明式事务
  • Linux socket编程(8):shutdown和close的区别详解及例子
  • 《尚品甄选》:后台系统——分类品牌和规格管理(debug一遍)
  • Docker容器网络模式
  • PHP如何实现邮箱验证