注意:有个坑,遇到一个太难题要去别的oj上提高能力的时候,提高完能力之后,就要重新做这个最难的题,然后能力还可能提高一节。算是很容易犯的错误。

代码:

#include<bits/stdc++.h>
#define maxn 1050
using namespace std;

int n,k,a[maxn];
int main()
{
    scanf("%d%d",&n,&k);
    for(int i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    sort(a,a+n);
    int num=0;
    for(int i=0;i<n;i++)
    {
        if(a[i]<=2*k)
        {
            k=max(k,a[i]);
        }
        else
        {
            while(1)
            {
                k*=2;
                num++;
                if(k*2>=a[i])
                {
                    k=max(a[i],k);
                    break;
                }
            }
        }
    }
    printf("%d",num);
}