1606B - Update Files - CodeForces Solution


greedy implementation math *1100

Please click on ads to support us..

Python Code:


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)

C++ Code:

#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;
        }
    }

}


Comments

Submit
0 Comments
More Questions

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