Success Rate

CodeForces - 807C

给你4个数字 x y p q ,要求让你求最小的非负整数b,使得 (x+a)/(y+b)==p/q,同时a为一个整数且0<=a<=b。

(0 ≤ x ≤ y ≤ 109; 0 ≤ p ≤ q ≤ 109; y > 0; q > 0)

解法:

(x+a)/(y+b)==p/q;
-->
x+a=np;
y+b=nq;
-->
a=np-x;
b=nq-y;
-->
二分n;
#include <cstdio>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <string>
#include <cstring>
using namespace std;
#define _ ios::sync_with_stdio(false),cin.tie(0) const int MAXN = 5010;
const int INF = 0xfffffff;
typedef long long ll; int t;
ll x,y,p,q; int main()
{
cin>>t;
while(t--)
{
cin>>x>>y>>p>>q;
ll l=0,r=1e9,ans=-1;
while(l<=r)
{
ll mid=(l+r)>>1;
ll a=mid*p-x,b=mid*q-y;
if(a>=0&&b>=0&&a<=b)
{
ans=mid;
r=mid-1;
}
else
l=mid+1;
}
if(ans==-1)
cout<<-1<<endl;
else
cout<<ans*q-y<<endl;
}
return 0;
}
 

最新文章

  1. &lt;十四&gt;JDBC_c3p0数据库连接池
  2. C#开源磁盘/内存缓存引擎
  3. [PaPaPa][需求说明书][V1.0]
  4. java提高篇---HashMap
  5. 解决 iReport 生成 pdf 时显示不出中文的问题
  6. floyd+动态规划 hdu-4571-Travel in time
  7. Heritrix与Nutch对比
  8. Apple pay的使用
  9. KB奇遇记(1):开篇
  10. 翻译连载 | 第 9 章:递归(下)-《JavaScript轻量级函数式编程》 |《你不知道的JS》姊妹篇
  11. js原生数组去重
  12. 基于89C51/52单片机的红外线遥控驱动
  13. [转]Windows Server 2016 服务器IIS配置
  14. php进程(线程)通信基础--System V共享内存
  15. 转载:2.2.3 配置项的注释《深入理解Nginx》(陶辉)
  16. BZOJ 4405 [wc2016]挑战NPC 带花树 一般图最大匹配
  17. 爬虫项目之NABC
  18. [Windows Azure] Building worker role B (email sender) for the Windows Azure Email Service application - 5 of 5.
  19. cve-2010-3333 Microsoft Office Open XML文件格式转换器栈缓冲区溢出漏洞 分析
  20. asp动态数组

热门文章

  1. Spring Cloud Alibaba - Spring Cloud Stream 整合 RocketMQ
  2. 使用Windows客户端连接Linux系统中的MySQL时产生的错误已经解决
  3. Linux系统CPU信息查询方法
  4. k8s之数据存储-高级存储
  5. Python语言系列-05-模块和包
  6. NOIP 模拟 $26\; \rm 幻魔皇$
  7. 早产的《HelloGitHub》第 65 期
  8. 如果服务器数据更新了,CDN的数据是怎么及时更新的
  9. Spark Ignite踩坑记录
  10. springcloud超时重试机制的先后顺序