Multi-judge Solving
写这个题的时候也是思维出了漏洞....容易漏掉的一点就是在别的 oj 上做了题之后可能不能够马上回原来的 oj 上做题,这是写循环的时候需要注意的的方,需要嵌套一个 while 进去。
代码:
// Created by CAD on 2019/8/6.
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define inf 0x3f3f3f3f
#define INF 0x3f3f3f3f3f
#define PII pair<int,int>
#define PIII pair<pair<int,int>,int>
#define mst(name, value) memset(name,value,sizeof(name))
#define FOPEN freopen("C:\\Users\\14016\\Desktop\\cad.txt","r",stdin)
#define test(n) cout<<n<<endl
using namespace std;
ll n,k;
const int maxn=1005;
ll a[maxn];
int main()
{
ios::sync_with_stdio(false);
cin>>n>>k;
for(int i=1;i<=n;++i) cin>>a[i];
sort(a+1,a+n+1);
int cnt=0;
for(int i=1;i<=n;i++)
{
if(2*k>=a[i]&&a[i]>k) k=a[i];
while(2*k<a[i]) cnt++,k=2*k;
k=max(k,a[i]);
}
cout<<cnt<<endl;
return 0;
}
CAD加油!欢迎跟我一起讨论学习算法,QQ:1401650042