### Question 5

Your job is to write the procedure **int RB(int r, int b, vector <int> &N)**.
The procedure works as follows. Each element of *N* is a number of balls, which
are either all red or all blue.
The problem is, you don't know which color they are. Your program should return
1 if it is possible for the vector to represent excaly *r* red balls and *b*
blue balls. It should return 0 if it is impossible.
For example, **RB(6, 7, { 4, 2, 4, 3 })** should return 1, and
**RB(6, 8, { 4, 2, 4, 3 })** should return 0.
**RB(6, 7, { 4, 4, 4, 1 })** should return 0 as well.

Constraint #1: **N** will have a maximum of 20 elements.

Constraint #2: Each element of **N** will be less than 200,000,000.

Constraint #3: No constraints on **r** or **b**.

Before writing this procedure, I want you to do the following:

- Outline your solution in English, rather than writing code.
- If this were a topcoder problem,
**N**'s size
could not be much bigger than this. Maybe 21 or 22. Why?
- Finally, code up your solution.

### Scratch Space is Below (You may find the following useful):

0 | |

1 | |

2 | |

3 | |

4 | |

5 | |

6 | |

7 | |

8 | |

9 | |

10 | |

11 | |

12 | |

13 | |

14 | |

15 | |

16 | |

17 | |

18 | |

19 | |