交了好多次,尝试了几种方法,最终这道题还是TLE了,,,,, 原来到最后m==1只需要把剩下的直接加起来跳出循环就好了《《《《《《《《《
#include<iostream>
using namespace std;
int n,m;
int main(){
ios::sync_with_stdio(false);
cin.tie(0),cout.tie(0);
cin>>n>>m;
int ans=0;
n=n-m;
while(n>0){
m=(m+1)/2;
if(m==1){
ans+=n;
break;
}else{
n-=m;
ans++;
}
}
cout<<ans;
return 0;
}
//md气死我啦!!!!!!!!!!!!
//sb吧wr!!!!
//不吃早饭咋不饿死呀!!!!!