• B. Stairs


    B. Stairs

    time limit per test

    1 second

    memory limit per test

    256 megabytes

    input

    standard input

    output

    standard output

    Jett is tired after destroying the town and she wants to have a rest. She likes high places, that's why for having a rest she wants to get high and she decided to craft staircases.

    A staircase is a squared figure that consists of square cells. Each staircase consists of an arbitrary number of stairs. If a staircase has nn stairs, then it is made of nn columns, the first column is 11 cell high, the second column is 22 cells high, ……, the nn-th column if nn cells high. The lowest cells of all stairs must be in the same row.

    A staircase with nn stairs is called nice, if it may be covered by nn disjoint squares made of cells. All squares should fully consist of cells of a staircase.

    This is how a nice covered staircase with 77 stairs looks like:

    Find out the maximal number of different nice staircases, that can be built, using no more than xx cells, in total. No cell can be used more than once.

    Input

    The first line contains a single integer tt (1≤t≤1000)(1≤t≤1000)  — the number of test cases.

    The description of each test case contains a single integer xx (1≤x≤1018)(1≤x≤1018)  — the number of cells for building staircases.

    Output

    For each test case output a single integer  — the number of different nice staircases, that can be built, using not more than xx cells, in total.

    Example

    input

    Copy

    4
    1
    8
    6
    1000000000000000000
    

    output

    Copy

    1
    2
    1
    30
    

    Note

    In the first test case, it is possible to build only one staircase, that consists of 11 stair. It's nice. That's why the answer is 11.

    In the second test case, it is possible to build two different nice staircases: one consists of 11 stair, and another consists of 33 stairs. This will cost 77 cells. In this case, there is one cell left, but it is not possible to use it for building any nice staircases, that have not been built yet. That's why the answer is 22.

    In the third test case, it is possible to build only one of two nice staircases: with 11 stair or with 33 stairs. In the first case, there will be 55 cells left, that may be used only to build a staircase with 22 stairs. This staircase is not nice, and Jett only builds nice staircases. That's why in this case the answer is 11. If Jett builds a staircase with 33 stairs, then there are no more cells left, so the answer is 11 again.


    =========================================================================

    首先能用n块颜色不重叠的正方形组成的阶梯,叫做好的阶梯

    然后求x块积木能够最多组成多少不同的好的阶梯

    1肯定是

    2构造可知不是

    3一定是

    4不是

    再由样例,只7也是

    完全可以推出只用奇数列阶梯才能满足好的阶梯,那么剩下就是贪心了

    1. #include
    2. # include
    3. # include
    4. using namespace std;
    5. typedef long long int ll;
    6. int main ()
    7. {
    8. int t;
    9. cin>>t;
    10. while(t--)
    11. {
    12. ll n;
    13. cin>>n;
    14. ll a=1;
    15. ll ans=0;
    16. while((a+1)*a/2<=n)
    17. {
    18. n-=(a+1)*a/2;
    19. a=a*2+1;
    20. ans++;
    21. }
    22. cout<
    23. }
    24. return 0;
    25. }

     

  • 相关阅读:
    首版次高端软件申报条件和好处
    MIT-BIH-AF 数据集开发库
    借助云的力量,重塑企业的现在和未来|re:Invent 2022 Adam Selipsky 主题演讲精华全收录
    你真的懂反馈吗?
    虹科分享 | 软件供应链攻击如何工作?如何评估软件供应链安全?
    MySQL语法基础
    如何选币与确定对应策略研究
    Shadowing Japanese Unit3
    Sqoop学习
    如何比较两个文件是否完全一样,Windows、MacOS、Linux(使用自带命令比较)
  • 原文地址:https://blog.csdn.net/jisuanji2606414/article/details/126228020