传统题 1000ms 256MiB

数字转换

该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。

问题描述

现有两个数字 AABB,每轮你可以对 AA 从以下二种操作任选一种执行:

  • AA 的二进制(可以视作有任意个前导 00)进行任意的洗牌,得到新的数字 AA
  • AA 改为 A+1A+1

现在问你,要让 AA 变为 BB,至少需要进行多少轮这样的操作。如果无法通过这样的操作让 AA 变为 BB,则输出 -1

输入格式

第一行输入一个整数 TT,表示测试用例的数量。

每个测试用例包含一行,包含两个空格分隔的整数 AABB(1T105,0A,B1018)(1\le T\le 10^5,0\le A,B\le 10^{18})

输出格式

对于每个测试用例,输出一个整数,表示最少的操作次数。如果无法让 AA 变为 BB,则输出 1-1

样例输入

4
2 4
1 5
5 1
1 6

样例输出

1
2
3
3

说明

对于样例 11,进行一次重排操作即可。

对于样例 22,重排之后进行加 11 即可。

对于样例 33,将 55 的二进制重排为 011 后加 11 再重排即可。

对于样例 44,将 11 重排后加 11 再次进行重排即可。

新生赛验题

未参加
状态
已结束
规则
ACM/ICPC
题目
12
开始于
2024-9-2 10:00
结束于
2024-9-6 14:00
持续时间
100 小时
主持人
参赛人数
12