Process exited after 3.453 seconds with return value 3221225477
#include<bits/stdc++.h>
using namespace std;
int main(){
int a;bool b[100000]; long long int c,d,e=0;
cin>>a;
for(int i=1;;i++){
c=pow(i,2);
if(c>a)
d=i;
break;
}
if(a%2==1){
cout<<0-1;
}else{
while(a>0){
if(a%2==0){
b[e]=false;
}else{
b[e]=true;
}
floor(a*1.0/2);
e++;
}
for(int i=d;i>=1;i--){
if(b[i]==true){
cout<<pow(i,2)<<" ";
}
}
}
return 0;
}