EC round 33 D. Credit Card 贪心
因为到为0的点,充钱的范围都是不确定的,我们维护一个满足条件的最小值以及满足条件的最大值。
当min>d时,代表已经满足条件限制了
当a[ i ] = 0 并且 max<0,代表需要充钱,充钱能够保证当前 minn=0 maxx = d
其他情况则对minn, maxx相应的增加和减少进行操作就可以了
#include<bits/stdc++.h>
using namespace std;
const int maxx = 2e5+;
int a[maxx];
int main(){
int n,d;
int maxx=;
int minn=;
scanf("%d%d",&n,&d);
int flag=;
int cnt=;
for (int i=;i<=n;i++){
scanf("%d",&a[i]);
if (a[i]==){
///代表要进行检查
if (maxx<){ ///如果最大值小于0 那么必须要充钱
cnt++;
///充钱后,充钱的数目可能是0,那么最小值变成了0
///充钱后,最大钱的数目为d
minn=;
maxx=d;
}else {
///但是如果当前最大值是小于等于d的
///为了满足条件,最小值至少也是满足>=0的
minn=max(minn,);
}
}else {
maxx+=a[i];
minn+=a[i];
maxx=min(maxx,d);
}
if (minn>d){
flag=;
}
}
if (flag)printf("-1\n");
else printf("%d\n",cnt);
return ;
}
EC round 33 D. Credit Card 贪心的更多相关文章
- Educational Codeforces Round 33 D. Credit Card
Credit Card time limit per test2 seconds memory limit per test256 megabytes Recenlty Luba got a cred ...
- codeforces 893D Credit Card 贪心 思维
codeforces 893D Credit Card 题目大意: 有一张信用卡可以使用,每天白天都可以去给卡充钱.到了晚上,进入银行对卡的操作时间,操作有三种: 1.\(a_i>0\) 银行会 ...
- [CodeForces 893D] Credit Card 贪心
题意: Recenlty Luba有一张信用卡,一开始金额为0,每天早上可以充值任意数量的钱,但有限制,卡里的钱不能超过D.到了晚上,银行会对信用卡进行一次操作,操作有三种: 1.a[i]>0, ...
- EC Round 33 F. Subtree Minimum Query 主席树/线段树合并
这题非常好!!! 主席树版本 很简单的题目,给一个按照指定节点的树,树上有点权,你需要回答给定节点的子树中,和其距离不超过k的节点中,权值最小的. 肯定首先一想,按照dfs序列建树,然后按照深度为下标 ...
- Educational Codeforces Round 33 (Rated for Div. 2) D. Credit Card
D. Credit Card time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...
- Educational Codeforces Round 33 (Rated for Div. 2) D题 【贪心:前缀和+后缀最值好题】
D. Credit Card Recenlty Luba got a credit card and started to use it. Let's consider n consecutive d ...
- Educational Codeforces Round 33
# Who = Penalty * A B C D E F 479 arkethos 4 247 + 00:08 + 00:19 +1 00:59 +2 01:41 479 ne-leo ...
- [cf contest 893(edu round 33)] F - Subtree Minimum Query
[cf contest 893(edu round 33)] F - Subtree Minimum Query time limit per test 6 seconds memory limit ...
- Real Time Credit Card Fraud Detection with Apache Spark and Event Streaming
https://mapr.com/blog/real-time-credit-card-fraud-detection-apache-spark-and-event-streaming/ Editor ...
随机推荐
- Python基础-列表、元组、字典、字符串
Python基础-列表.元组.字典.字符串 多维数组 nums1 = [1,2,3] #一维数组 nums2 = [1,2,3,[4,56]] #二维数组 nums3 = [1,2,3,4,['a ...
- 基于LSTM对西储大学轴承故障进行分析
这篇文章是小萌新对西储大学轴承故障进行分析,固定特征为故障直径为0.007,电机转速为1797,12k驱动端故障数据(Drive_End)即DE-time.故障类型y值:滚动体故障,内圈故障,3时,6 ...
- Neo4j系列-简介及应用场景
1.什么是Neo4j? Neo4j是一个高性能的NOSQL图形数据库,它将结构化数据存储在网络上而不是表中.它是一个嵌入式的.基于磁盘的.具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储 ...
- Django--登录功能
登录功能: 1.路由访问如果不加斜杠,内部会重定向加斜杠的路由 所有的html文件都默认卸载templates文件夹下面 所有的(css,js,前端第三方的类库)默认都放在static文件夹下 htm ...
- Leetcode566.Reshape the Matrix重塑矩阵
在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据. 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的 ...
- Leetcode633.Sum of Square Numbers平方数之和
给定一个非负整数 c ,你要判断是否存在两个整数 a 和 b,使得 a2 + b2 = c. 示例1: 输入: 5 输出: True 解释: 1 * 1 + 2 * 2 = 5 示例2: 输入: 3 ...
- QT_获取运行进程所在目录路径_1
QString getProcessPathForWin(int idProcess) { #ifdef Q_OS_WIN // access process path WCHAR name[]; Z ...
- 【JZOJ3598】【CQOI2014】数三角形
Mission 对于100%的数据1<=m,n<=1000 Solution 鬼题,ans=C3(n∗m)−Ans,其中Ans表示三点共线的数目: 枚举最长边的向量(x,y),容易算出贡献 ...
- Django框架Day3------之Models
一.Django models字段类型清单: AutoField:一个自动递增的整型字段,添加记录时它会自动增长.你通常不需要直接使用这个字段:如果你不指定主键的话,系统会自动添加一个主键字段到你的m ...
- 关于如何在部署环境修改process.env & 本地测试
前言 最近在搞一些监控的东西, 需要根据不同的环境上报到不同的地址,中间遇到了一些问题,在这里简单总结分享下. 关于process.env 假如你对process.env 相关的概念还不熟悉, 请移步 ...