社区讨论

站外数据超时球条

P1582倒水参与者 2已保存回复 11

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
11 条
当前快照
1 份
快照标识符
@mjny8i31
此快照首次捕获于
2025/12/27 14:58
2 个月前
此快照最后确认于
2025/12/29 18:45
2 个月前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int n2[40];//n2[n]表示2^n
long long n,k,bowl,ans;//bowl瓶子数 
void jw(int n){//进位 
	n2[n+1]++;
	n2[n]=0;
	if(n2[n+1]==2){
		bowl--;
		jw(n+1);
	}
}
int main(){
	cin>>n>>k;
	for(long long i=64;n!=0;--i){
		if(n>=pow(2,i)){
			n2[i]=1;
			n-=pow(2,i);
			bowl++; 
		}
	} 
	while(bowl>k){
		n2[0]++;
		ans++;
		bowl++;
		if(n2[0]==2){//2进1 
			bowl--;
			jw(0);
		}
	}
	cout<<ans;
	return 0;
}

回复

11 条回复,欢迎继续交流。

正在加载回复...