JZOJ3018. 电费结算(electric)

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

输出仅一行一个整数,代表你单独算需要付的钱。数据保证解唯一。

Sample Input

1100 300

Sample Output

350

Data Constraint

Solution

水题一道
考场AC
这道题很简单,只需要用a算出两人一共用的电量,然后二分自己的电量即可。
好像可以暴力过

Code

#include<bits/stdc++.h>
#define open_in(x) freopen(""#x".in","r",stdin);
#define open_out(x) freopen(""#x".out","w",stdout);
#define open_(x) freopen(""#x".in","w",stdout);
#define open(x) open_in(x);open_out(x);
#define mes(x,y) memset(x,y,sizeof(x));
#define mec(x,y) memcpy(x,y,sizeof(x));
using namespace std;
typedef long long ll;
typedef double db;
typedef unsigned long long ull;
const int X=-1;
const int M=1e9+7;int Random(int x,int y){return rand()%(y-x+1)+x;}inline int max(int x,int y){return x>y?x:y;}
inline int min(int x,int y){return x<y?x:y;}inline void read(int &x)
{int f=1;char ch=getchar();x=0;while (ch<'0' || ch>'9'){if (ch=='-') f=-1;ch=getchar();}while (ch>='0' && ch<='9'){x=x*10+ch-'0';ch=getchar();}x*=f;
}const int V[5]={0,2,3,5,7},N[4]={0,100,10000,1000000},P[4]={0,200,29900,4979900};int a,b,ans,xy;int M_S(int a)
{if (a<=P[1]) return a/V[1];if (a<=P[2]) return (a-P[1])/V[2]+N[1];if (a<=P[3]) return (a-P[2])/V[3]+N[2];return (a-P[3])/V[4]+N[3];
}int S_M(int a)
{if (a<=N[1]) return a*V[1];if (a<=N[2]) return (a-N[1])*V[2]+P[1];if (a<=N[3]) return (a-N[2])*V[3]+P[2];return (a-N[3])*V[4]+P[3];
}int main()
{open(electric);read(a),read(b);xy=M_S(a);for (int l=0,r=xy/2,mid=r/2;l<=r;mid=(l+r)/2){int c=S_M(xy-mid)-S_M(mid);if (c<=b)r=(ans=mid)-1;elsel=mid+1;}printf("%d\n",S_M(ans));return 0;
}

2019.03.16【NOIP提高组】模拟 B 组 电费结算(electric)相关推荐

  1. JZOJ 5281. 【NOIP提高组模拟A组8.15】钦点

    Description Input Output Sample Input 4 4 2 a a b b a a b b c c d d c c d d 1 1 3 3 2 2 3 1 1 3 2 2 ...

  2. 【2019.7.16 NOIP模拟赛 T1】洗牌(shuffle)(找环)

    找环 考虑每次洗牌其实是一次置换的过程,而这样必然就会有循环出现. 因此我们直接通过枚举找出每一个循环,询问时只要找到环上对应的位置就可以了. 貌似比我比赛时被卡成\(30\)分的倍增简单多了? 代码 ...

  3. JZOJ5857 【NOIP提高组模拟A组2018.9.8】没有上司的舞会

    题目 Description "那么真的有果尔德施坦因这样一个人?"他问道. "是啊,有这样一个人,他还活着.至于在哪里,我就不知道了." "那么那个 ...

  4. 2019.03.29 NOIP训练 友好国度(点分治+容斥)

    传送门 思路: 直接上点分治+容斥计算每个因数对应的贡献即可. 代码: #include<bits/stdc++.h> #define ri register int using name ...

  5. 2019.03.27【GDOI2019】模拟 T3

    题目大意 给出$n$, $p$, 求有多少长度为$n$的排列可以被分成三个上升子序列, 数量对$p$取模, 数据范围 $3 \leq n \leq 500$. 思路 首先让我们考虑如果有一个排列,如何 ...

  6. 【二分,找规律】Day 14 提高组模拟C组 T1 小麦亩产一千八

    题目大意 给定斐波那契的第aaa项,求出第b" role="presentation">bbb项,默认第0项为1 解题思路 方法一:递推 找到规律后O(b)O(b) ...

  7. 第一届『Citric杯』NOIP提高组模拟赛 题解

    [官方题解]第一届『Citric杯』NOIP提高组模拟赛 题解 第一题 柠檬超市 这题是本次模拟赛的送分题.做法显然. 但是注意此题有一个陷阱: 注意W和C的规模都是10^9,所以如果直接用doubl ...

  8. JZOJ 5814. 【NOIP提高A组模拟2018.8.14】 树

    梦游中的你来到了一棵 N 个节点的树上. 你一共做了 Q 个梦, 每个梦需要你从点 u 走到点 v 之后才能苏醒, 由于你正在梦游, 所以每到一个节点后,你会在它连出去的边中等概率地选择一条走过去, ...

  9. 2018.12.08【NOIP提高组】模拟B组总结(未完成)

    2018.12.08[NOIP提高组]模拟B组总结 diyiti 保留道路 进化序列 B diyiti Description 给定n 根直的木棍,要从中选出6 根木棍,满足:能用这6 根木棍拼出一个 ...

最新文章

  1. 02使用常规步骤编译NanoPiM1Plus的Android4.4.2
  2. 【转】ABP源码分析二十二:Navigation
  3. java oss如何下载文件_Java OSS批量下载并压缩为ZIP代码实例
  4. 多线程篇三:线程同步
  5. 计算机上缺少vsix安装程序,vsix - Vsix安装程序在Visual Studio 2017(15.3)中失败 - 堆栈内存溢出...
  6. 广州市黄埔区水利工程管理划定带动水利人才上升
  7. shell脚本的逻辑判断
  8. 【业务架构】价值链分析:提高客户价值和盈利能力
  9. 修真院_JAVA_TASK_1
  10. (function(){})()后面的()含义
  11. 基于java的俄罗斯方块小游戏设计(含源文件)
  12. pip 查看要安装的包的所有版本的方法
  13. java动态图片_Java之简单的图片动态显示(实现类似GIF动画效果)
  14. 【C语言】如何理解【void(*)(void)】
  15. 2190 悼念512汶川大地震遇难同胞——重建希望小学
  16. 王者归来!中国软件生态大会再次登场 16城市生态合作大幕拉开
  17. 在Linux中查找文件系统类型的7种方法(ext2,ext3或ext4)
  18. 阿里云镜像下载Python库
  19. 华为315s-936刷机中文版教程(附下载连接及有关视频连接)
  20. 机器学习与数据挖掘——数据预处理

热门文章

  1. 记录打卡假期的学习计划
  2. DecimalFormat使用心得
  3. JetBrains教育账户注册问题
  4. 模型预测控制(MPC)解析(四):状态估计
  5. 微信小程序开发实录——每日速递
  6. 就地初始化与列表初始化
  7. Oracle 安装包合集!
  8. 基于STM32F103C8T6的MPU6050调试与数字运动处理器DMP
  9. 移动物联网卡流量分省内省外吗?物联卡有漫游吗?
  10. 管理大师明茨伯格:成功的领导者是什么样的?