比赛 20130923 评测结果 AAAAAAAAAA
题目名称 鬼谷子的钱袋 最终得分 100
用户昵称 <蒟蒻>我要喝豆奶 运行时间 0.003 s
代码语言 C++ 内存使用 0.31 MiB
提交时间 2015-10-12 19:38:00
显示代码纯文本
#include<cstdio>
#include<iostream>
using namespace std;	
int n,u=0,s=1;
int main(void){
	freopen("wallet.in","r",stdin);
	freopen("wallet.out","w",stdout);
	cin>>n;
	while(n>=s){
		n-=s;
		s<<=1;
		u++;
	}
	if(n&&!(n%2)){
		cout<<u+n-1<<endl;
		for(int i=1;i<n;i++)
			cout<<1<<' ';
		for(int i=1;i<=((s>>1)>>1);i<<=1)
			cout<<i<<' ';
		cout<<(s>>1)+1;
	}
	else{
		if((s>>1)<n){
			cout<<++u<<endl;
			for(int i=1;i<=(s>>1);i<<=1)
				cout<<i<<' ';
			cout<<n;
			return 0;
		}
		cout<<u<<endl;
		for(int i=1;i<=((s>>1)>>1);i<<=1)
			cout<<i<<' ';
		cout<<(s>>1);
	}
	return 0;
}