Content

给定四个数 \(a,b,c,d\),求满足以下条件的数对 \((x,y)\) 的个数:

  • \(x\leqslant a,y\leqslant b\)。
  • \(\dfrac{x}{y}=\dfrac{c}{d}\)。

数据范围:\(1\leqslant a,b,c,d\leqslant 10^{18}\)。

Solution

众所周知,数据范围很大的话一般就得要推结论了。

我们先把这个 \(\dfrac{c}{d}\) 化简一下,假设是 \(\dfrac{c'}{d'}\)。由于很明显,\(x,y\) 显然要分别是 \(c',d'\) 的倍数,所以设 \(x=k_1c',y=k_2d'\),那么我们由上面的条件:

\(x\leqslant a,y\leqslant b\)

\(\Rightarrow k_1c'\leqslant a,k_2d'\leqslant b\)

\(\Rightarrow k_1\leqslant \dfrac{c'}{a},k_2\leqslant \dfrac{d'}{b}\)

又因为 \(\dfrac{x}{y}=\dfrac{c'}{d'}\)

所以 \(\dfrac{c'}{x}=\dfrac{d'}{y}\)

那么就只能够从 \(k_1,k_2\) 中取较小值了。因此答案就是 \(\min\{\dfrac{c'}{a},\dfrac{d'}{b}\}\)。

Code

long long a, b, c, d;

int main() {
scanf("%lld%lld%lld%lld", &a, &b, &c, &d);
long long gcdcd = __gcd(c, d);
c /= gcdcd, d /= gcdcd;
printf("%lld", min(a / c, b / d));
}

CF1041B Buying a TV Set 题解的更多相关文章

  1. codeforces round#509

    博主水平不高, 只能打完$4$题, QAQ什么时候才能变强啊嘤嘤嘤 订正完6题了,  还想打今天下午的CF , 只能迟十分钟了, 掉分预定 A. Heist 输出 $max - min + n - 1 ...

  2. Codeforces Round #509 (Div. 2)

    咕咕咕了好多天终于有时间写篇博客了_(:з」∠)_ 打网赛打到自闭的一周,终于靠这场CF找回了一点信心... 1041A - Heist \(ans=max\left \{ a_i \right \} ...

  3. CF Round #509 (Div. 2)

    前言:第一次打\(CF\),因为经验不足以及英语水平很烂,即便在机房大佬的带领下也是花了好久才读懂题目..\(A\)题直到\(11\)分钟才\(A\),题目一共才做了\(4\)题,太菜了.. A. H ...

  4. (转) s-video vs. composite video vs. component video 几种视频格式详细说明和比较

    之前对着几种视频格式认识不是很清晰,所以看数据手册的时候,看的也是稀里糊涂的. 因为项目中需要用到cvbs做视频输入,在元器件选型上,看到tw2867的数据手册上,有这么一句话: The TW2867 ...

  5. 2018-2019 ACM-ICPC, NEERC, Southern Subregional Contest, Qualification Stage(11/12)

    2018-2019 ACM-ICPC, NEERC, Southern Subregional Contest, Qualification Stage A. Coffee Break 排序之后优先队 ...

  6. Codeforces GYM 100876 J - Buying roads 题解

    Codeforces GYM 100876 J - Buying roads 题解 才不是因为有了图床来测试一下呢,哼( 题意 给你\(N\)个点,\(M\)条带权边的无向图,选出\(K\)条边,使得 ...

  7. 洛谷 P2918 [USACO08NOV]买干草Buying Hay 题解

    P2918 [USACO08NOV]买干草Buying Hay 题目描述 Farmer John is running out of supplies and needs to purchase H ...

  8. 洛谷 P2983 [USACO10FEB]购买巧克力Chocolate Buying 题解

    P2983 [USACO10FEB]购买巧克力Chocolate Buying 题目描述 Bessie and the herd love chocolate so Farmer John is bu ...

  9. 题解 CF1097F 【Alex and a TV Show】

    妙妙题-- 这道题这要求%2的个数,肯定有什么性质 于是我们想到了用\(bitset\)来处理 由于三操作有\(gcd\),于是我们又想到用反演来解决 我们回忆一下反演的柿子 设\(f(x)\)为x出 ...

随机推荐

  1. 列生成算法(求解Cutting Stock问题)

    列生成是用于求解大规模线性优化问题的一种算法,其实就是单纯形法的一种形式.单纯性可以通过不断迭代,通过换基变量的操作,最终找到问题的最优解.但是当问题的规模很大之后,变量的个数就会增大到在有限时间内无 ...

  2. 代码整洁之道Clean Code笔记

    @ 目录 第 1 章 Clean Code 整洁代码(3星) ?为什么要整洁的代码 ?什么叫做整洁代码 第 2 章 Meaningful Names 有意义的命名(3星) 第 3 章 Function ...

  3. R包xlsx安装与使用

     1. Rstudio安装xlsx报错 xlsx包加载依赖Java环境,我之前就安装过Java,但安装xlsx成功后,加载xlsx时一直报错: Error : loadNamespace()里算'rJ ...

  4. javaSE高级篇1 — 异常与多线程基础

    1.异常的体系结构  注:Throwable是一个类,不是一个接口,这个类里面是描述的一些Error和Exception的共性,如图所示: 异常 / 错误是什么意思? 定义:指的是程序运行过程中,可能 ...

  5. act.四级

    act的词源是do, 干着或干了的事情也可以叫act.action: doing sth; act: n. action, v. do; activity: busy, energetic, or占据 ...

  6. add more

    # -*- coding: utf-8 -*- print('123', 123) print(type('123'), type(123)) # string, integer /ˈintidʒə/ ...

  7. R语言学习记录(一)

    (R基础) 对象:什么是对象呢,其实就是一个名称而已,在R中存储的数据 就是一个R对象 a <- 1 ###其中'<-'表示的是一个赋值符号 这句话表示的是,将1赋值给a b <- ...

  8. 几种常用JavaScript设计模式es6

    设计模式分类(23种设计模式) 创建型 单例模式 原型模式 工厂模式 抽象工厂模式 建造者模式 结构型 适配器模式 装饰器模式 代理模式 外观模式 桥接模式 组合模式 享元模式 行为型 观察者模式 迭 ...

  9. 转 【Android】- Android与html5交互操作

    转自:https://blog.csdn.net/baidu_35701759/article/details/70314812 1. Android提供了WebView控件可访问网页 通过webVi ...

  10. layui 弹窗中 分页展示table

    1. 需求:点击查看更多,展示该类别 所有数据,并分页 2. 参考文档: (1)https://www.jianshu.com/p/40da11ebae66 (2) https://blog.csdn ...