CF1592A Gamer Hemose 题解

题目传送门
题目大意:有一只怪物,血量为 H,现在你有 n 中武器,第 i 种可以让怪物的血量下降 ai,每种武器不能连续使用,请问至少需要用几次武器才能打死这只怪物。
解析:显然我们发现,由于每种武器都不能连续使用,所以我们就使用能让怪物血量下降最大的两种武器交替使用。当然有的时候需要偶数次,有的时候需要奇数次,需要取最小值。
代码:(为了方便仅展示主函数)

int main(){
//freopen(".in","r",stdin);
//freopen(".out","w",stdout);
T=read(); while(T--){
n=read(); h=read(); maxx=maxy=-1;
for(RI i=1;i<=n;i++){
x=read();
if(x>maxx) maxy=maxx,maxx=x;
else if(x>maxy) maxy=x;
}
printf("%d\n",min((int)ceil(h*1.0/(maxx+maxy))*2,1+(int)ceil((h-maxx)*1.0/(maxx+maxy))*2));
}
return 0;
}
posted @   jiangtaizhe001  阅读(79)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示