##洛谷上测的90,考试0分 没开o2
查看原帖
##洛谷上测的90,考试0分 没开o2
729824
Eternity_fantasy楼主2022/7/23 14:27
#include<iostream>
#include<cstdio>
#include<cmath>
#include<algorithm>
using namespace std;
long long a[10000009];
int c[1009];
long long b[10000009];
int main(){
	//freopen("power.in","r",stdin);
	//freopen("power.out","w",stdout);
	int n,m=1,k=1;
	cin>>n;
	for(int i=1;i<=24;i++){
		m*=2;
		a[i]=m;
		c[a[i]]=1;
	}
	for(int i=n;i>=2;i--){
		for(int j=24;j>=1;j--){
			if(n-i>=0&&i==a[j]&&c[a[j]]==1){
				n-=i;
				b[k]=i;
				k++;
				c[a[j]]=0;
				break;
			}
		}
	}
	if(n!=0) cout<<"-1";
	else{
		for(int i=1;i<=k;i++){
			if(b[i]!=0){
				cout<<b[i]<<" ";
			}
		}
	}
	//fclose(stdin);
    //fclose(stdout);
	return 0;	
}
2022/7/23 14:27
加载中...