CF1526C1
题目简化和分析:
给您一个数组,在其中选择若干个数使得:
- 任意前缀和 \(\ge 0\)
- 数量尽可能的大
我们可以使用贪心策略,策略如下:
- 如果当前数为非负,必喝。
- 而毒药尽可能的多喝,如果喝没了,就把最小的吐了。
以上操作可以采用优先队列去优化。
重载运算符
struct node{
ll v;
bool operator <(const node &x)const{
return x.v<v;
}
};
priority_queue<node> q;
既然理解了思路可以动手了。
Solution:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double db;
const int N=2e3+50;
const int M=1e5+50;
inline ll read(){
ll x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-')
f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x=(x<<1)+(x<<3)+(ch^48);
ch=getchar();
}
return x*f;
}
ll n;
ll a[N];
struct node{
ll v;
bool operator <(const node &x)const{
return x.v<v;
}
};
priority_queue<node> q;
int main()
{
n=read();
for(int i=1;i<=n;++i) a[i]=read();
ll ans=n,res=1,cnt=0;
while(res<=n)
{
cnt+=a[res];
q.push((node){a[res]});
if(cnt<0){
node tmp=q.top();
cnt-=tmp.v;
q.pop();
--ans;
}
++res;
}
printf("%lld\n",ans);
return 0;
}
随机推荐
- React后台管理系统 02样式初始化,引入reset-css
上一篇中,我们已经对项目的整体结构进行了搭建,现在需要对不需要的东西进行删除,最后留下这些东西. 现在需要对全部的样式进行清除,使用命令导入依赖:npm i reset-css 然后在main.tsx ...
- SQL Server 配置允许远程连接
前言 需要别人远程你的数据库,首先需要的是在一个局域网内,或者连接的是同一个路由器,接下来就是具体步骤: 1.首先是要检查SQLServer数据库服务器中是否允许远程链接.其具体操作为: 1. 打开数 ...
- fread()模板
char buf[1<<20],*p1,*p2;#define GC (p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<20,stdin ...
- Python异常模块与包
Python异常模块与包 一.了解异常 1.1 什么是异常 当检测到一个错误时,Python解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的"异常", 也就是我们常说 ...
- Django message组件
使用message组件要在seetings中配置 ①INSTALLED_APPS (项目需要什么功能都放在这 既可以有数据库,又可以写代码,html文件,和自己写的APP一个道理) ②MIDDLE ...
- ansible 的特点
ansible的特点 基于Python语言实现 模块化,调用特定的模块,完成特定任务 部署简单,基于python和SSH(默认已安装),yum install 即可,不需要客户端 安全,基于OpenS ...
- 学习狂神Spring5_课堂笔记(更新中)
Spring 简介 spring,英文单词为春天,表示为软件行业带来了春天. 2002年,首次推出了Spring框架的雏形:interface21框架.官网为:www.interface21.io但是 ...
- Winform跨线程访问UI
在开发winfrom应用时,经常遇到异常:System.InvalidOperationException:"线程间操作无效: 从不是创建控件"xxxx"的线程访问它.出 ...
- 初识Redis与桌面客户端
Redis介绍 什么是Redis Redis(Remote Dictionary Server) 是一个使用 C 语言编写的,开源的(BSD许可)高性能非关系型(NoSQL)的键值对数据库. Redi ...
- 交换机通过SFTP进行文件操作
组网图形 通过SFTP进行文件操作简介 配置设备作为SFTP服务器,用户可以在终端通过SFTP通信方式,利用SSH协议提供的安全通道与远端设备进行安全连接.通过SFTP进行文件操作的方式对数据进行了 ...