Run ID | Author | Problem | Lang | Verdict | Score | Time | Memory | Code Length | Submit Time |
---|---|---|---|---|---|---|---|---|---|
64999 | 2020姚瑶 | NOIP2020(CSP) 普及:第一题 优秀的拆分 | C++ | Time Limit Exceeded | 95 | 1000 MS | 272 KB | 488 | 2022-10-02 11:59:48 |
#include<bits/stdc++.h> using namespace std; int n; int a[10000002],cnt; int main() { int i,j,k; scanf("%d",&n); if(n%2!=0) printf("-1"); else { for(i=1;;i++) { k=pow(2,i); if(k<n) { a[++cnt]=i; n-=k; } else if(k==n) { a[++cnt]=i; for(j=cnt;j>=1;j--) { int t=pow(2,a[j]); printf("%d ",t); } return 0; } else { i=a[cnt]; n+=pow(2,a[cnt--]); } } } return 0; }