CF1875C.Jellyfish and Green Apple

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

水母有 nn 块青苹果,每块青苹果的重量为 1 kg1~\text{kg}。水母想要将这些青苹果平均分给 mm 个人。

水母有一把魔法刀。每次操作时,水母可以选择一块青苹果,将其分成两块更小的青苹果,每块的重量都是原来的一半。

水母想知道,最少需要多少次操作,才能将青苹果分成每个人获得的苹果总重量都相同。如果无法通过有限次操作实现平均分配,请输出 −1-1。

输入格式

每个测试点包含多组测试数据。第一行包含一个整数 tt(1≤t≤2⋅1041 \leq t \leq 2 \cdot 10^4),表示测试数据组数。

接下来每组测试数据占一行,每行包含两个整数 nn 和 mm(1≤n,m≤1091 \leq n, m \leq 10^9),分别表示初始青苹果的数量和人数。

输出格式

对于每组测试数据,输出一个整数,表示将所有青苹果平均分给 mm 个人所需的最少操作次数。如果无法通过有限次操作实现平均分配,则输出 −1-1。

输入输出样例

  • 输入#1

    4
    10 5
    1 5
    10 4
    3 4

    输出#1

    0
    -1
    2
    5

说明/提示

在第一个测试用例中,不需要分割苹果。每个人可以获得 22 块 1 kg1~\text{kg} 的苹果,每个人获得的苹果总重量为 2 kg2~\text{kg}。

在第二个测试用例中,无法通过有限次操作将苹果平均分配。

在第三个测试用例中,可以将两块 1 kg1~\text{kg} 的苹果分割,得到 44 块 0.5 kg0.5~\text{kg} 的苹果。每个人可以获得 11 块 0.5 kg0.5~\text{kg} 的苹果和 22 块 1 kg1~\text{kg} 的苹果。每个人获得的苹果总重量为 2.5 kg2.5~\text{kg}。

在第四个测试用例中,首先将所有 33 块 1 kg1~\text{kg} 的苹果分割,得到 66 块 0.5 kg0.5~\text{kg} 的苹果。然后再将其中两块 0.5 kg0.5~\text{kg} 的苹果分割,得到 44 块 0.25 kg0.25~\text{kg} 的苹果。每个人可以获得 11 块 0.5 kg0.5~\text{kg} 的苹果和 11 块 0.25 kg0.25~\text{kg} 的苹果。每个人获得的苹果总重量为 0.75 kg0.75~\text{kg}。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页