90分TLE求助
查看原帖
90分TLE求助
302584
DottedCalculator楼主2020/11/26 20:55
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a,b,jz[64]={0},ans=0;
	cin>>a>>b;
	int k=0;
	while(a>0){
		if(a%2==1)    jz[k]++;
		k++;a=a>>1;
	}
	while(1){
		int t=0;
		for(int i=0;i<64;i++){
			if(jz[i]==1)    t++;
		}
		if(t<=b)    break;
		jz[0]++;
		for(int i=0;i<63;i++){
			if(jz[i]==2){
				jz[i]=0;jz[i+1]++;
			}
		}
		ans++;
	}
	cout<<ans;
	//getchar();getchar();
	return 0;
}
2020/11/26 20:55
加载中...