### PROBLEM LINK:

**Author:** Subham Das

**Tester:** Soumik Sarkar

**Editorialist:** Soumik Sarkar

### DIFFICULTY:

CAKEWALK

### PREREQUISITES:

Binary numbers

### PROBLEM:

Find the minimum number which with **N** ones and **M** zeroes in its binary representation without leading zeroes.

### EXPLANATION:

The minimum number with **N** ones and **M** zeroes will have the form [**1**, M times **0**, (N-1) times **1**].

For **N=4** and **M=2** the answer is **100111**.

For **N=1** and **M=3** the answer is **1000**.

For **N=5** and **M=0** the answer is **11111**.

This problem can be solved easily using bitwise operations. We can see that

[**1**, M times **0**, (N-1) times **1**] = [**1**, (N+M-1) times **0**] | [(N-1) times **1**]

[**1**, (N+M-1) times **0**] can be obtained by `1 << (N+M-1)`

.

[(N-1) times **1**] can be obtained by `(1 << (N-1)) - 1`

.

Here “|” is the bitwise OR operator and “<<” is the bitwise left-shift operator. Addition can also be used in place of bitwise OR.

Hence, the answer can be obtained by the code

ans = (1 << (N+M-1)) | ((1 << (N-1)) - 1)

Complexity of this approach is \mathcal{O}(1).

### TESTER’S SOLUTION:

Tester’s solution can be found here.