CF1271E.Common Number

普及/提高-

通过率:0%

AC君温馨提醒

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

题目描述

At first, let's define function f(x)f(x) as follows: $$$$ \begin{matrix} f(x) & = & \left{ \begin{matrix} \frac{x}{2} & \mbox{if } x \text{ is even} \ x - 1 & \mbox{otherwise } \end{matrix} \right. \end{matrix} $$

We can see that if we choose some value vv and will apply function ff to it, then apply ff to f(v)f(v) , and so on, we'll eventually get 11 . Let's write down all values we get in this process in a list and denote this list as path(v)path(v) . For example, path(1) = \[1\] , path(15) = \[15, 14, 7, 6, 3, 2, 1\] , path(32) = \[32, 16, 8, 4, 2, 1\] .

Let's write all lists path(x)path(x) for every xx from 11 to nn . The question is next: what is the maximum value yy such that yy is contained in at least kk different lists path(x)path(x) ?

Formally speaking, you need to find maximum yy such that leftx  1lexlen,yinpath(x)rightgek\\left| \\{ x ~|~ 1 \\le x \\le n, y \\in path(x) \\} \\right| \\ge k$$.

输入格式

The first line contains two integers nn and kk ( 1kn10181 \le k \le n \le 10^{18} ).

输出格式

Print the only integer — the maximum value that is contained in at least kk paths.

输入输出样例

  • 输入#1

    11 3
    

    输出#1

    5
    
  • 输入#2

    11 6
    

    输出#2

    4
    
  • 输入#3

    20 20
    

    输出#3

    1
    
  • 输入#4

    14 5
    

    输出#4

    6
    
  • 输入#5

    1000000 100
    

    输出#5

    31248
    

说明/提示

In the first example, the answer is 55 , since 55 occurs in path(5)path(5) , path(10)path(10) and path(11)path(11) .

In the second example, the answer is 44 , since 44 occurs in path(4)path(4) , path(5)path(5) , path(8)path(8) , path(9)path(9) , path(10)path(10) and path(11)path(11) .

In the third example n=kn = k , so the answer is 11 , since 11 is the only number occuring in all paths for integers from 11 to 2020 .

首页