import heapq
def main():
X,d = [int(i) for i in input().split()]
X = X
s = bin(X)[2:]
ones = s.count('1')
res = []
count = 0
oneCount = 0
for i in reversed(range(len(s))):
if s[i]=='1':
res.append(count)
oneCount += 1
count +=1
ANS = []
START = d
for c in res:
ANS.extend([str(START) for _ in range(c)])
START += d
for i in range(oneCount):
ANS.append(str(START))
START += d
if len(ANS)>10000:
print(-1)
else:
print(len(ANS))
print(' '.join(ANS))
return
if __name__ == "__main__":
main()
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
#define rep(a,b) for(int a = 0; a < (b); ++a)
#define pb push_back
#define all(t) t.begin(), t.end()
const int MAXN = 5e5+5;
int n = 0, d = 0;
ll akt_val = 0, akt_ile = 0, akt_ilo = 0;
vector<ll> wyn;
void solve()
{
cin >> n >> d;
wyn = vector<ll>();
akt_val = 1;
while(n > 0)
{
akt_ile = 1, akt_ilo = 2;
while(akt_ilo*2-1 <= n)
{
akt_ilo *= 2, ++akt_ile;
}
rep(i,akt_ile) wyn.pb(akt_val);
akt_val += d, n -= akt_ilo-1;
}
cout << wyn.size() << '\n';
for(auto x : wyn) cout << x << ' ';
cout << '\n';
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int T = 1;
//cin >> T;
while(T--) solve();
return 0;
}
Lexical Sorting Reloaded | 1514A - Perfectly Imperfect Array |
580A- Kefa and First Steps | 1472B- Fair Division |
996A - Hit the Lottery | MSNSADM1 Football |
MATCHES Playing with Matches | HRDSEQ Hard Sequence |
DRCHEF Doctor Chef | 559. Maximum Depth of N-ary Tree |
821. Shortest Distance to a Character | 1441. Build an Array With Stack Operations |
1356. Sort Integers by The Number of 1 Bits | 922. Sort Array By Parity II |
344. Reverse String | 1047. Remove All Adjacent Duplicates In String |
977. Squares of a Sorted Array | 852. Peak Index in a Mountain Array |
461. Hamming Distance | 1748. Sum of Unique Elements |
897. Increasing Order Search Tree | 905. Sort Array By Parity |
1351. Count Negative Numbers in a Sorted Matrix | 617. Merge Two Binary Trees |
1450. Number of Students Doing Homework at a Given Time | 700. Search in a Binary Search Tree |
590. N-ary Tree Postorder Traversal | 589. N-ary Tree Preorder Traversal |
1299. Replace Elements with Greatest Element on Right Side | 1768. Merge Strings Alternately |