CS302 Midterm Exam - October 14, 2014 - Page 3

Do your answers on the answer sheets provided. When you write code, you do not need to have "include" or "using" statements.

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:


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