class Solution:
def fileTransfer(self, n : int, k:int) -> None:
ans = 0
curr = 1
while curr < k:
curr *=2
ans+=1
if (curr < n):
ans += (n - curr + k - 1) // k;
print(ans)
obj = Solution()
t = int(input())
for _ in range(t):
n, k = list(map(int, input().split()))
obj.fileTransfer(n, k)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int t ; cin >>t ;
long long n, k ;
while(t--){
cin >> n >> k ;
long long good = 1 ;
long long i = 0 ;
while(good<k){
i++ ;
good *= 2 ;
}
if(good>=n) cout << i <<endl ;
else{
cout << (((n-good)+k-1)/k)+i <<endl;
}
}
}
1038B - Non-Coprime Partition | 43A - Football |
50A - Domino piling | 479A - Expression |
1480A - Yet Another String Game | 1216C - White Sheet |
1648A - Weird Sum | 427A - Police Recruits |
535A - Tavas and Nafas | 581A - Vasya the Hipster |
1537B - Bad Boy | 1406B - Maximum Product |
507B - Amr and Pins | 379A - New Year Candles |
1154A - Restoring Three Numbers | 750A - New Year and Hurry |
705A - Hulk | 492B - Vanya and Lanterns |
1374C - Move Brackets | 1476A - K-divisible Sum |
1333A - Little Artem | 432D - Prefixes and Suffixes |
486A - Calculating Function | 1373B - 01 Game |
1187A - Stickers and Toys | 313B - Ilya and Queries |
579A - Raising Bacteria | 723A - The New Year Meeting Friends |
302A - Eugeny and Array | 1638B - Odd Swap Sort |