反悔贪心题-炼金模拟器

news/2024/10/22 16:33:00/

题意

LYH拥有一堆药水,每瓶药水i有一种功效a[i];如果a[i]为正,则加血;如果为负,则扣血。

他决定从第一瓶开始,依次绝对每瓶喝还是不喝;最开始血量为0,他希望喝的药水尽量多,并且不会中途挂掉(喝光任何一瓶药水的时候血量都是大于或等于0)

Input

输入的第一行包含一个数 n.

接下来一行,有 n 个整数,第 i 个数表示 a[i].

Output

输出一共一个数,表示 LYH 最多能喝几瓶药水还没挂掉.

 样例输入

6
4 -4 1 -3 1 -3

样例输出

5

解释

LYH可以依次喝 1, 3, 4, 5, 6 五瓶药水. 他的血量最开始为 0,之后喝掉药水的血量依次为 4, 5, 2, 3, 0.

核心思路(反悔贪心)

在喝不死的情况下使劲喝。

然后当遇到一瓶“毒药”可能会把自己喝死的时候,我们去看一下以前所有的“毒药”,如果以前有一瓶毒药扣血比现在的多,那我宁愿之前不喝那瓶毒药,而喝现在的毒药.

例如:2,-2,-1.....这个序列,我喝到-1的时候发现喝不了了,那我宁愿把-2这瓶换成-1,这样不仅不会影响之前“喝不死”的判定,同时还能加点血。

那如果要换之前的“毒药”,根据贪心,我肯定换掉之前扣血最多的“毒药”,所以我们用一个堆来维护一下。

 贪心策略

 0.用一个大根堆维护现在要喝的所有毒药。

1.顺序的喝药,如果喝不死,就喝,ans+=1;

2.如果喝毒药会死,我们就看一下要喝的毒药最大值是多少,如果之前的毒药扣血比现在多,就把之前的毒药换成现在的。

最后输出ans

代码

#include <iostream>
#include <algorithm>
#include <queue>
#include <vector>using namespace std;
typedef long long ll;
int n;
priority_queue <ll,vector<ll>,greater<ll>> heap;
ll sum,ans;int main(){freopen("potion.in","r",stdin);freopen("potion.out","w",stdout);scanf("%d",&n);ans=sum=0;for(int i=1;i<=n;i++){ll tmp;scanf("%lld",&tmp);if(sum+tmp>= 0){sum+=tmp;heap.push(tmp);ans++;}else if(heap.size()>0&&heap.top()<tmp){sum+=tmp-heap.top();heap.pop();heap.push(tmp);        }}printf("%lld\n",ans);return 0;
}


http://www.ppmy.cn/news/645239.html

相关文章

炼金术师

链接&#xff1a;牛客练习赛 题目描述 爱德华以钢之炼金术师之名享誉全国&#xff0c;而今天他要完成弟弟阿尔冯斯提出的一个挑战。 已知爱德华和阿尔冯斯面前各摆了一块无限长的画布&#xff0c;画布上一开始均无任何颜色&#xff0c;且两块画布的最左端下标均设为0。阿尔冯斯…

【原创题】炼金

题目背景 纪雅是一个注重学习的学校&#xff0c;尽管在校庆当天&#xff0c;LEMT仍然在教室里上化学课。 题目描述 化学老师sjm是一个尽职尽责的好老师&#xff0c;今天她正在讲合金。 “合金的定义&#xff0c;就是一种或多种金属&#xff0c;以及碳&#xff0c;硅等元素经…

[听风]TBC炼金速冲1-375

文章目录 地球阶段1-300外域300-375 有条件的朋友可以按我这张表去AH买材料直接冲&#xff0c;以下是我个人冲点过程&#xff1b;中间的熟练度一栏有实际冲点情况&#xff0c;大家冲点快乐吖&#xff01;&#xff01;&#xff01; 地球阶段1-300 材料数量熟练度成品价格&#…

TBC声望 恢复萨满 炼金 宏 附魔300-375

萨尔玛 先祖指环 戒指 15 智力 需要等级 70 需要: 萨尔玛 - 崇敬 装备: 提高法术所造成的治疗效果&#xff0c;最多57点。装备: 每5秒恢复4点法力值。 配方&#xff1a;合成天火钻石、 配方&#xff1a;敏捷药剂 尊敬 35点治疗效果和每5秒7点回魔&#xff0c;头部附魔 崇敬 找…

《钢之炼金术士》启示录

《钢之炼金术士》启示录 Writen by Allen Lee 没有牺牲&#xff08;付出&#xff09;就没有获得&#xff0c;要想得到什么&#xff0c;就必须付出同等的代价&#xff0c;这就是炼金术的等价交换原则。 整部动画就是基于这个基本理念构筑而成。然而&#xff0c;当我第一次看到这…

炼金术士(2020-2021)(2021-2022)

成员 NameGradelts2017jyf2018zf2019 比赛记录 O 在比赛中通过✔ 赛后补题 没有该题 2020-2021 ContestDateMedalRankSolvedABCDEFGHIJKLMThe 2020 ICPC China Shaanxi Provincial Programming Contest2020.9.26Au7/876/10OOOOOO2020 CCPC Qinhuangdao Onsite2020…

アルマ / 炼金妹

目录 基本资料面板值&#xff08;无天冥加成&#xff09;天冥奖励 战斗宣言&#xff08;VC&#xff09;被动效果技能珠子 回到人物索引 基本资料 NS(4★)NS(5★)卡池 (Ver 2.13.50)卡池 (Ver 2.13.50)—キトリニタスの書&#xff08;人喰い沼VH&#xff09; 天冥属性武器防具…

一步一步学OAK之十二:DepthAI API中Nodes各节点特性总结

目录 ColorCamera节点EdgeDetector节点FeatureTracker 节点ImageManip节点IMU 节点MobileNetDetectionNetwork节点MobileNetSpatialDetectionNetwork节点MonoCamera节点NeuralNetwork节点ObjectTracker节点Script节点SpatialLocationCalculator节点SPIIn节点SPIOut节点StereoDe…