注意:有个坑,遇到一个太难题要去别的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);
}