//Jakub Nowak XIV LO Wroclaw #include<bits/stdc++.h> using namespace std; #define pb push_back const int N = 1e6+7; int T[N];//T[k] = suma zapalonych bitow liczby i, dla i <= k int main() { ios_base::sync_with_stdio(false); cin.tie(0); for(int i=1; i<N; i++) T[i]=T[i-1]+__builtin_popcount(i); int n; vector<int> odp; cin>>n; for(int x=1e6; n; x--) { if(/*T[x]>=n&&*/T[x-1]<n) { //cout<<x<<" "; odp.pb(x); n-=__builtin_popcount(x); //x=0; } } cout<<odp.size()<<"\n"; for(auto u:odp) cout<<u<<" "; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | //Jakub Nowak XIV LO Wroclaw #include<bits/stdc++.h> using namespace std; #define pb push_back const int N = 1e6+7; int T[N];//T[k] = suma zapalonych bitow liczby i, dla i <= k int main() { ios_base::sync_with_stdio(false); cin.tie(0); for(int i=1; i<N; i++) T[i]=T[i-1]+__builtin_popcount(i); int n; vector<int> odp; cin>>n; for(int x=1e6; n; x--) { if(/*T[x]>=n&&*/T[x-1]<n) { //cout<<x<<" "; odp.pb(x); n-=__builtin_popcount(x); //x=0; } } cout<<odp.size()<<"\n"; for(auto u:odp) cout<<u<<" "; } |