记录编号 | 70089 | 评测结果 | AAAAAAAAAA | ||
---|---|---|---|---|---|
题目名称 | 1306.[HNOI 2006]鬼谷子的钱袋 | 最终得分 | 100 | ||
用户昵称 | 是否通过 | 通过 | |||
代码语言 | 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]<<" "; } }