QOJ.ac

QOJ

時間限制: 1.0 s 記憶體限制: 256 MB 總分: 100 可 Hack ✓

#16868. 水母与青苹果

统计

Jellyfish 有 $n$ 个青苹果。每个青苹果重 $1\text{ kg}$。Jellyfish 想要将这些青苹果平均分给 $m$ 个人。

Jellyfish 有一把魔法刀。每次 Jellyfish 可以选择一个青苹果,将其切成两半,每半的重量是原重量的一半。

Jellyfish 想知道,为了让每个人分到的苹果总重量相同,她最少需要进行多少次操作。

输入格式

每个测试点包含多个测试用例。第一行包含测试用例的数量 $t$ ($1 \le t \le 2 \cdot 10^4$)。

接下来是各测试用例的描述。

每个测试用例仅包含一行,包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 10^9$),分别表示初始时青苹果的数量和人数。

输出格式

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

样例

输入 1

4
10 5
1 5
10 4
3 4

输出 1

0
-1
2
5

说明

在第一个测试用例中,我们不需要分割苹果。每个人将收到 $2$ 个 $1\text{ kg}$ 的苹果,每个人收到的苹果总重量为 $2\text{ kg}$。

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

在第三个测试用例中,我们可以将两个 $1\text{ kg}$ 的苹果切开,得到 $4$ 个 $0.5\text{ kg}$ 的苹果。每个人将收到 $1$ 个 $0.5\text{ kg}$ 的苹果和 $2$ 个 $1\text{ kg}$ 的苹果。每个人收到的苹果总重量为 $2.5\text{ kg}$。

在第四个测试用例中,我们首先将全部 $3$ 个 $1\text{ kg}$ 的苹果切开,得到 $6$ 个 $0.5\text{ kg}$ 的苹果。然后,我们进一步将其中两个 $0.5\text{ kg}$ 的苹果切开,得到 $4$ 个 $0.25\text{ kg}$ 的苹果。每个人将收到 $1$ 个 $0.5\text{ kg}$ 的苹果和 $1$ 个 $0.25\text{ kg}$ 的苹果。每个人收到的苹果总重量为 $0.75\text{ kg}$。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.