zoukankan      html  css  js  c++  java
  • 电费结算(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

    Hint

    20%的数据,A和B都不超过10^6。
    
    100%的数据,1 ≤ A, B ≤ 10^9。
    

    .
    .
    .
    .
    .
    .
    分析
    先看懂是如何收费的,根据A反算出总电费
    再二分出答案计算检验

    .
    .
    .
    .
    .
    程序:

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    using namespace std;
    int b,df=0;
    
    int js(int x)
    {
    	int w=0,a=x,p=2;
    	if (x>100) 
    	{
    		w+=2*100;a-=100;p=3;
    	}
    	if (x>10000)
    	{
    		w+=3*9900;a-=9900;p=5;
    	}
    	if (x>1000000)
    	{
    		w+=5*990000;a-=990000;p=7;
    	}
    	w+=a*p;
    	return w;
    }
    
    int ef(int l,int r)
    {
    	while (l<=r)
    	{
    		int mid=(l+r)/2;
    		int a1=js(mid),b1=js(df-mid);
    		if (a1-b1==b) return b1; else
    		if (a1-b1<b) l=mid+1; else 
    		if (a1-b1>b) r=mid-1;
    	}
    	
    }
    
    int main()
    {
    	int a;
    	scanf("%d%d",&a,&b);
    	int p=2;
    	if (a>2*100) 
    	{
    		df+=100;a-=200;p=3;
    	}
    	if (a>3*9900)
    	{
    		df+=9900;a-=3*9900;p=5;
    	}
    	if (a>5*990000)
    	{
    		df+=990000;a-=5*990000;p=7;
    	}
    	df+=a/p;
    	int ans;
    	ans=ef(0,df);
    	printf("%d",ans);
    	return 0;
    }
    
  • 相关阅读:
    eclipse导入web项目报错 Cannot find the class file for javax.servlet.ServletContext.
    项目检出JRE问题(Unbound classpath container: 'JRE System Library [JavaSE-1.7]' in project 'idweb')
    eclipse添加web项目报错“Target runtime Apache Tomcat v7.0 is not defined.”
    Mysql(Navicat for Mysql)怎么添加数据库
    Jmeter线程ramp-up period (in seconds)如何取值
    JMeter基础使用方法
    loadrunner中回放log看不到参数替代后具体数值
    Luogu P2490「JSOI2016」黑白棋
    LOJ #2026「JLOI / SHOI2016」成绩比较
    LOJ#2127「HAOI2015」按位或
  • 原文地址:https://www.cnblogs.com/YYC-0304/p/11094943.html
Copyright © 2011-2022 走看看