【CodeForces】893 - D Credit Card (贪心)
题目链接
题目读了好久。。
题意:
有一个人新办了一张信用卡,初始账户上没有钱。给出两个数字q,d。
q是操作次数。
操作分为三种:
- 当aiaia_i为正值时表示信用卡增加了aiaia_i元。
- 当aiaia_i为负值时表示信用卡支出了aiaia_i元。
- 当aiaia_i为0时,进行一次查询,查询时信用卡上的钱不能是负值。
在每次操作前,这个人可以选择去银行充钱,但是无论时充钱还是怎么样,银行卡上的钱一定不能超过d,如果超过就输出-1。
问:此人最少需要去几次银行?
这道题应该可以看出来是一道贪心的题目。主要突破点就是充钱的范围是一个区间,但是这一定会有一个最大值和最小值,我们时刻更新最大值和最小值,如果某一时刻,最小值都大于d了,那么就说明无论如何此时卡上的钱都会大于d,那么就是输出-1。
最重要的贪心思想就体现在mmax和mmin的更新处。
AC代码:
#include <bits/stdc++.h>
using namespace std;int main(int argc, char const *argv[])
{int n,d,x,res = 0;scanf("%d %d",&n,&d);int mmax = 0,mmin = 0;while(n--){scanf("%d",&x);if(x == 0){if(mmax < 0){mmax = d;res++;}mmin = max(0,mmin); //只有最大值跟新时res需要自增,因为mmin不可能大于mmax,所以说在之前充钱时,存在某种情况使得此时mmin为0。}mmax += x;mmin += x;mmax = min(mmax,d);if(mmin > d){puts("-1");return 0;}}printf("%d\n", res);return 0;
}
【CodeForces】893 - D Credit Card (贪心)相关推荐
- Codeforces 893 D Credit Card 贪心 思维
题目链接: http://codeforces.com/contest/893/problem/D 题目描述: 每天晚上一个数值a,如果a>0表示今天收入a元,<0表示亏损a元,=0表示去 ...
- cf#401(Div. 2)B. Game of Credit Card(田忌赛马类贪心)
题干: After the fourth season Sherlock and Moriary have realized the whole foolishness of the battle b ...
- codeforces Gym 100338E Numbers (贪心,实现)
题目:http://codeforces.com/gym/100338/attachments 贪心,每次枚举10的i次幂,除k后取余数r在用k-r补在10的幂上作为候选答案. #include< ...
- TensorFlow for Hackers (Part VII) - Credit Card Fraud Detection using Autoencoders in Keras
It's Sunday morning, it's quiet and you wake up with a big smile on your face. Today is going to be ...
- Educational Codeforces Round 24 E. Card Game Again(双指针)
题目链接:Educational Codeforces Round 24 E. Card Game Again 题意: 给你n个数和一个数k. 现在每次可以拿掉前x个数,后y个数,剩下的数的乘积要能被 ...
- Python:实现测试信用卡号码有效性credit card validator的算法(附完整源码)
Python:实现测试信用卡号码有效性credit card validator的算法 def validate_initial_digits(credit_card_number: str) -&g ...
- 论文 | Credit Card Fraud Detection Using Convolutional Neural Networks
本篇博客继续为大家介绍一篇论文,也是关于用卷积神经网络 CNN 来进行信用卡欺诈检测的. 论文信息 论文题目:Credit card fraud detection using convolution ...
- Credit Card Fraud Detection(信用卡欺诈检测相关数据集)
原文: Credit Card Fraud Detection Anonymized credit card transactions labeled as fraudulent or genuine ...
- (原创)北美信用卡(Credit Card)个人使用心得与总结(个人理财版) [精华]
http://forum.chasedream.com/thread-766972-1-1.html 本人2010年 8月F1 二度来美,现在credit score 在724-728之间浮动,最高的 ...
最新文章
- 图解插入排序--直接插入排序
- 06. 用css实现三角形
- node 微信授权 获取openid
- java 转xml 变成两根下划线_XStream将java对象转换为xml时,对象字段中的下划线“_”,转换后变成了两个...
- Java学习正嗨Day2!
- 回文字符串—回文子串—暴力破解法
- 送10本今年最火的《动手学深度学习》
- [NLP]OpenNLP标记器的使用
- SpringBoot+zk+dubbo架构实践(一):本地部署zookeeper
- 双曲调频信号matlab仿真,matlab 实现线性调频信号以及分析处理
- 毕业设计 基于单片机的智能蓝牙密码锁设计与实现
- 超声延时聚焦原理及算法仿真
- 苹果电脑怎么登录邮件服务器,Mac系统中的邮箱怎么创建126邮箱帐户?
- 用Cocos2d-x-3.0及Box2d预测物体弹道轨迹
- Pta题目集:汽车加油问题 (20 分)
- 计算机二级工作表不会,计算机二级Office:Excel工作簿与工作表操作
- C#中BackgroundImage与Image的区别
- 连夜干出来一个自动处理【支付宝交易支付投诉管理系统】,支持多商户
- 哪些日本人看来很普通的日文词汇,在我们眼里会很高大上?
- 终端报错PTY allocation request failed on channel 0
热门文章
- CentOS8 系统时间同步设置
- GD32E23x的USART被断点打断后重新运行,会一直进入中断的问题
- HUAWEI HiAI常见FAQ小贴士
- 33. 实现桌球的反弹
- Nginx *nix下安装方式
- 计算机 我们一起学猫叫歌词,抖音短视频我们一起学猫叫是什么歌
- 50道逻辑题,你能想出多少?
- 电路设计中的VDD、VCC、VSS
- 全网最全java开发环境下载-jdk-tomcat-maven-eclips-idea
- 无限火力开启服务器炸了,LOL无限火力:玩家发现这6个英雄成型后,互相单挑,服务器会爆炸...