电费结算_纪中3018_二分
来源:互联网 发布:重庆seo服务公司 编辑:程序博客网 时间:2024/05/17 03:16
Description
WZK最近靠租房发家致富了。作为WZK老同学的你也要租房,于是WZK决定不要房租,但是电费还得付。以下是用电价格:
举个例子吧。如果你用电为10123千瓦时,那么要付2 * 100 + 3 * 9900 + 5 * 123 = 30515块钱(好贵)。
到结算电费的日子了,可是WZK家里只有一个总电表,也就是统计你和WZK总共用的电量。但是WZK有办法告诉你以下信息:
1).如果按照总电表来看要交给供电局的钱A。(也就是两个人用电量加起来一起算钱)2).你和WZK如果分开付的话,你们付的钱的差值B。
现在你想知道如果你单独算钱的话,需要付多少钱。当然,你的用电量不会比WZK多。
举个例子:如果你们一起算钱要付1100,并且如果分开来算,你们的差值是300的话,那么你用了150kwh,WZK用了250kwh。让我们来验算一下:你们一共用电400kwh,所以要付2 * 100 + 3 * 300 = 1100,你单独要付2 * 100 + 3 * 50 = 350,WZK单独要付2 * 100 + 3 * 150 = 650。所以最后,你只需要告诉我你单独要付350元。
Input
输入仅一行,包含两个整数A和B(1 ≤ A, B ≤ 10^9),含义同上。 输出描述: 输出仅一行一个整数,代表你单独算需要付的钱。数据保证解唯一。
Output
输出仅一行一个整数,代表你单独算需要付的钱。数据保证解唯一。
Hint
20%的数据,A和B都不超过10^6。
100%的数据,1 ≤ A, B ≤ 10^9。
Analysis
又是一道本以为切掉却wa了的氵题
题目给出了总的话费,那么总耗电是可求的(显然)
二分用电,判断一下价格差
Code
既然是氵题我就写得丑一点了
#include <stdio.h>using namespace std;int v[4]={2,3,5,7};int cal(int x){ int tmp=0,pp=x,u=0; if (x>100) tmp+=2*100,u=1,pp-=100; if (x>10000) tmp+=3*9900,u=2,pp-=9900; if (x>1000000) tmp+=5*990000,u=3,pp-=990000; return tmp+pp*v[u];}int main(){ int a,b,p=0,e=0; scanf("%d%d",&a,&b); if (a>2*100) e+=100,a-=200,p=1; if (a>3*9900) e+=9900,a-=3*9900,p=2; if (a>5*990000) e+=990000,a-=5*990000,p=3; e+=a/v[p]; int l=0,r=e; while (l<=r) { int mid=(l+r)>>1,tmp_A=cal(mid),tmp_B=cal(e-mid); if (tmp_A-tmp_B==b) { printf("%d\n",tmp_B); return 0; } else if (tmp_A-tmp_B<b) l=mid+1; else if (tmp_A-tmp_B>b) r=mid-1; } return 0;}
0 0
- 电费结算_纪中3018_二分
- 电费结算 纪中3018 二分
- 游泳池_纪中1439_二分+水
- 圆周舞蹈_纪中1745_二分查找
- 回家_纪中1445_bfs+二分
- 【NOIP2012模拟10.9】电费结算
- 买汽水_纪中2948_dfs+二分查找
- CKMLCP前期未结算_报错
- 删除_纪中1381_暴力
- 输油管道_纪中1432_暴力
- 直角三角形_纪中2543_暴力?
- 旅行_纪中2547_枚举
- 麻将_纪中3066_模拟
- 十滴水_纪中1702_模拟
- 【NOIP2012模拟10.9】电费结算(electric)
- 查找_二分查找
- 20170927_二分查找
- 【算法】图论_二分图_匹配
- 多列索引生效规则
- 欢迎使用CSDN-markdown编辑器
- 为github帐号添加SSH keys(转)
- 前端复习--css实现幻灯片效果
- PHP数组与XML之间的转换
- 电费结算_纪中3018_二分
- 玩转Perceptron Learning Algorithm
- LightOJ 1225 Palindromic Numbers
- Oracle数据库——char varchar varchar2的区别
- 第四周 圆柱体的表面积
- Javaweb 开发
- UVA 1590 IP Networks
- 【BZOJ 3694】最短路 树链剖分+倍增
- Servelet线程安全问题。