记录编号 70089 评测结果 AAAAAAAAAA
题目名称 [HNOI 2006]鬼谷子的钱袋 最终得分 100
用户昵称 Gravatarzjmfrank2012 是否通过 通过
代码语言 C++ 运行时间 0.002 s
提交时间 2013-09-23 20:56:18 内存使用 0.31 MiB
显示代码纯文本
#include<fstream>
#include<algorithm>
using namespace std;
ifstream fi("wallet.in");
ofstream fo("wallet.out");
int main()
{
	int n,m,s,p[1001]={0},i=-1;
	fi>>m;
	while(((1<<(i+2))-1)<=m)
	{
		i++;
		p[i+1]=1<<i;
	}
	p[i+2]=m-((1<<(i+1))-1);
	if(p[i+2]==0)i--;
	sort(p+1,p+i+3);
	n=i+2;
	fo<<n<<endl;
	for(i=1;i<=n;i++)
	{
		if(p[i]==p[i+1])
		{
			p[i]--;
			p[i+1]++;
		}
		fo<<p[i]<<" ";
	}
	
}