CF 135 DIV2 B 特别优惠!超值999布尔!
来源:http://codeforces.com/contest/219/problem/B 题意:就是一个物品有一个价,这个价可以最多降低d,求在所下降价不超过d的情况下,能够使价有最多的9且价最高.拿样例来说, 1029 102 原价为1029,最多可下降102元,在符合条件的范围内,能够取得最多的
来源:http://codeforces.com/contest/219/problem/B
题意:就是一个物品有一个价格,这个价格可以最多降低d,求在所下降价格不超过d的情况下,能够使价格有最多的9且价格最高.拿样例来说,
1029 102
原价为1029,最多可下降102元,在符合条件的范围内,能够取得最多的9且价格最高的是999.若没有 符合条件的情况,则输出原价。
思路:首先求出原价的位数,然后计算最多有多少个9,和原价比较以及判断是否符合条件。之后就是一个模拟的过程,一点一点加,直到找到符合条件的借。中间有一些细节需要注意,而且中间运算还有可能超过__int64,都需要处理一下。
代码:
<pre class="brush:php;toolbar:false">#include <iostream> #include <string.h> #include <cstdio> using namespace std; typedef unsigned __int64 LL; int fun(LL x){ int sum = 0; while(x){ sum++; x /= 10; } return sum ; } LL cal(int x){ LL sum = 0; for(int i = 1; i <= x; ++i){ sum = sum * 10 + 9; } return sum; } LL mi(int cnt){ LL s = 1; for(int i = 1; i <= cnt; ++i) s *= 10; return s; } int main(){ LL p,d; while(scanf("%I64d%I64d",&p,&d) != EOF){ LL value = p - d; int cnt = fun(p); LL ans = cal(cnt); if(ans >= value && ans <= p){ printf("%I64d\n",ans); } else{ LL x = value % 10; LL y = value / 10; LL z = y * 10 + 9; if(z > p){ z = z - 9; printf("%I64d\n",p); continue; } LL num = 0,xx = 0,yy = 0; LL cnt = 1; while(z <= p){ cnt++; xx = z / mi(cnt); yy = z % mi(cnt); z = xx * mi(cnt) + cal(cnt); num = z; } num = xx * mi(cnt) + yy; cnt--; while(num <= p){ num += mi(cnt); } printf("%I64d\n",num - mi(cnt)); } } return 0; }

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

本站1月6日消息,技嘉的RTX4080SUPER、RTX4070TiSUPER和RTX4070SUPER显卡已经曝光,预计1月9日0点发布。如上图所示,英伟达RTX40SUPER显卡的logo发生了变化,SUPER全大写,而RTX20系列的则是小写的super。RTX20superlogo本站汇总RTX40SUPER显卡爆料规格和价格如下:RTX4080SUPER配备10240CUDA核心和16GB23Gbps256bitGDDR6X显存,999美元(当前约7153元人民币)或1199美元(当前

一、static 请先看下面这段程序:publicclassHello{publicstaticvoidmain(String[]args){//(1)System.out.println("Hello,world!");//(2)}}看过这段程序,对于大多数学过Java的从来说,都不陌生。即使没有学过Java,而学过其它的高级语言,例如C,那你也应该能看懂这段代码的意思。它只是简单的输出“Hello,world”,一点别的用处都没有,然而,它却展示了static关键字的主

要了解协变与逆变,首先要引入:根据Liskov替换原则,如果C是P的子类,则P可以代替C,即Pp=newC();C继承于P,记做为C

目前,《Sleeping Dogs: Definitive Edition》在 GOG 上的大幅折扣价仅为 2.99 美元,较原价 19.99 美元大幅折扣 85%。要利用此优惠,只需访问 GOG 上的游戏页面,添加

本文详细介绍了欧易OKX交易平台的安装方法,涵盖安卓手机、Windows系统和Mac系统三种平台。安卓手机用户可通过Google Play商店下载安装;而Windows和Mac用户则需要访问欧易OKX官网下载对应系统的安装包进行安装。 文章提供了各个步骤的详细指南,方便用户快速完成安装,立即体验欧易OKX提供的服务。 快来下载欧易OKX,开启您的数字资产之旅吧!

supersuper是一个关键字,全部小写。super和this对比着学习,都是"this/super."出现在实例方法,“this/super()"出现在构造方法当中this:(1)this能出现在实例方法和构造方法中。(2)this的语法是:“this.”、“this()”(3)this不能使用在静态方法中。(4)this.大部分情况下是可以省略的。(5)this.什么时候不能省略呢?在区分局部变量和实例变量的时候不能省略。publicvoidsetName(S

许多求职的小伙伴在寻找工作时都会选择使用boss直聘这款软件,它为用户提供了便捷高效的求职体验,但是很多玩家们还不清楚boss直聘的offer究竟在哪里查收。那么在下文中就让我们一起跟随小编的介绍,详细了解一下如何查收自己的offer的方法吧,想要了解的用户们就快来跟着本文一起一探究竟吧!boss直聘offer在哪里查收答案:【boss直聘】-【消息】。具体步骤:1、首先打开boss直聘软件,进入到首页中后可以看到相关的信息,在这里我们点击页面下方的【消息】;2、来到消息的页面中后我们就可以查看

随着5G技术的发展,人们对5G手机的关注度也越来越高。作为中国最知名的通信设备生产商之一,华为一直以来都在领导着5G技术的研发和应用。在2019年,华为推出了多款5G手机,其中包括华为P60系列。那么,华为P60到底是不是一款5G手机呢?现在就让我们来一起探讨一下。首先,我们需要明确一点,华为P60系列手机并不是5G手机。华为P60系列在2019年发布,它们
