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

尖塔游戏:二分答案

在尖塔游戏中,你会遇到n个敌人。第i个敌人会对你造成ai​点伤害。如果在某一次战斗中,敌人给你造成伤害后,你的剩余生命值小于等于零,则你在这次战斗中被击败,否则你就击败了这个敌人。

除此之外,你拥有k瓶强力药水,每瓶强力药水能够帮助你在一次战斗中免收任何伤害(仅限于这一次战斗)。

请问你在游戏中合理使用强力药水时,最多能击败多少个敌人。

输入描述

第一行一个正整数T,表示有T组数据。

每组数据的第一行包含三个整数n,m,k,分别表示敌人的数量,你的初始生命值以及你拥有的强力药水的数量。

接下来一行包含n个正整数,其中第i个正整数ai​表示第i个敌人造成的伤害。

输出描述

对于每组数据输出一行,表示最多能击败的敌人数量。

思路:每次二分,对伤害值前k大的敌人使用药水,接受剩下的伤害,若血量>0,则满足条件。

#include<bits/stdc++.h>
using namespace std;
int t,n,m,k,a[100010],p[100010];
long long ck(int x){long long s=0;memcpy(p,a,sizeof p);sort(p+1,p+x+1);for(int i=1;i<=x-k;i++)s+=p[i];return s;
}
void solve(){int l=0,r=n,ans;while(l<=r){int mid=(l+r)/2;if(ck(mid)<m){ans=mid;l=mid+1;}else r=mid-1;}cout<<ans<<" "<<endl;
}
int main(){cin>>t;while(t--){cin>>n>>m>>k;for(int i=1;i<=n;i++){cin>>a[i];}solve();}
}

http://www.dtcms.com/a/443393.html

相关文章:

  • ps做网站分辨率自适应西安建设市场诚信信息平台网站
  • 免费提供网站建设设立公司流程以及需要的资料
  • 10.4交作业
  • 南京做网站南京乐识专心义乌做网站
  • 朋友圈营销企业整站seo
  • 网站手机版下悬浮条怎么做做美食网站需求分析报告
  • 京东Java后台开发面试题及参考答案(下)
  • error 403 网站拒绝显示南京外贸网站建站
  • 网站做可以退款吗网站建设要点
  • AutowiredAnnotationBeanPostProcessor执行原理分析
  • 易营宝智能建站免费推广网站
  • html做游戏网站昆明网站设计报价
  • 国科信息学薪火计划模拟赛Round2题解
  • 一文讲通JS普通函数与箭头函数的区别
  • 如何学好电脑维修,想学电脑维修技术去哪里学?
  • 4s店网站建设计划手机微网站平台登录入口
  • [Linux基础——Lesson11.Shell运行原理 (王婆传媒) ]
  • 网站开发工程师任职要求设计app界面的软件
  • 网站更换域名 换程序 SEO沧州做网站的大公司
  • 网站建设与管理教学计划企信网是干什么的
  • 苍溪县建设局网站天元建设集团有限公司是什么性质
  • 企业网站建设与实施调查报告有什么好字体可以导入wordpress
  • seo工作流程图优化建站
  • algorithm <B> data access in array 2/99
  • Kubernetes网络核心:CNI超简指南
  • 株洲公司网站建设推广运营公司哪家好
  • 有口碑的盐城网站建设如何注册公司并获得营业执照
  • 陕西省交通建设集团公司招聘网站wordpress justnews下载
  • 构建AI智能体:五十三、反应式应急+深思式优化:反应速度与规划智慧的平衡
  • 园区门户网站建设wordpress装ssl