40分求调
查看原帖
40分求调
1037968
CuteCockatiel楼主2024/8/14 14:11

Rt 除了AC就WA,没有TLE

#include<bits/stdc++.h>
using namespace std;
int a[11919810]={0};
string Meow(int n){
    string r;
    while(n!=0){
        r+=(n%2==0?"0":"1");
        n/=2;
    }
    return r;
}
int main(){
    int csp;
    cin>>csp;
    string s=Meow(csp);
    reverse(s.begin(),s.end());
    for(int i=0;i<s.size();i++){
    	if(s[i]=='1'){
    		a[i]=pow(2,i+1);
		}
	}
	int cnt=0;
	for(int i=0;i<s.size();i++){
		cnt+=a[i];
	}
	if(cnt!=csp){
		cout<<-1;
		return 0;
	}
	for(int i=s.size();i>=0;i--){
		if(a[i]!=0){
			cout<<a[i]<<' ';
		}
	}
    return 0;
}
2024/8/14 14:11
加载中...