Problem Statement
It's fourth quarter, time is running out and your team needs a touchdown to win. Coach has a set of plays that are guaranteed to make a specified number of yards. You will be given an
Definition
- Class:
- Touchdown
- Method:
- howMany
- Parameters:
- int, int[]
- Returns:
- int
- Method signature:
- int howMany(int yardsToGo, int[] plays)
- (be sure your method is public)
Constraints
- yardsToGo will be between 1 and 99, inclusive.
- plays will contain between 1 and 15 elements, inclusive.
- Each element in plays will be between 1 and yardsToGo, inclusive.
Examples
25
{1, 3, 2, 2, 3, 4, 3, 1, 1, 3, 1, 4, 4}
Returns: 8
27
{4, 3, 1, 2, 1, 1, 2, 1, 4, 4, 3, 1, 1, 1, 2}
Returns: 11
27
{2, 1, 3, 3, 3, 2, 1, 1, 1, 2, 3, 3, 3, 1}
Returns: 12
29
{3, 3, 2, 1, 2, 3, 4, 2, 1, 1, 1, 4, 3}
Returns: 12
39
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 7, 7, 7, 7}
Returns: 15
28
{3, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 3, 2, 1, 2}
Returns: -1
19
{2, 1, 2, 3, 1, 3, 3, 1, 2, 2}
Returns: -1
21
{10, 10, 11, 5, 6, 5, 1}
Returns: 2
19
{3, 2, 1, 1, 2, 3, 2, 1, 3, 2, 2, 1, 1}
Returns: 8
25
{2, 2, 3, 2, 3, 3, 1, 2, 1, 4, 2}
Returns: 11
Doing these plays in this order will get a touchdown: {4, 2, 2, 2}, {3, 3, 2, 2} and {3, 1, 1}.
10
{1, 4, 1, 1, 3}
Returns: -1
8
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
Returns: -1
60
{1, 20, 20, 31, 39, 59, 59}
Returns: 2
60
{20, 20, 33, 39, 59, 59}
Returns: -1
There is no way to get 60 to 70 yards; any 3 plays is greater than 70, and any 2 plays is either less than 60 or greater than 70.
13
{9, 1, 1, 1, 1}
Returns: 5
30
{1, 1, 2, 3, 3, 3, 3, 3, 3, 8}
Returns: 10
Running plays that get: 8, 3, 3, 3, 3, 3, 3, 2, 1 and 1 will get a touchdown.
13
{4, 4, 4, 2, 2, 1, 1}
Returns: 4
Running plays that get: {4, 4, 4, (2 or 1)} will get a touchdown!
72
{2, 2, 2, 24, 2, 2, 2, 29, 30, 30}
Returns: 8
97
{44, 44, 43, 43, 43, 1, 1, 1, 1, 1, 1, 1, 1, 1}
Returns: 11
10
{5, 2, 2, 1, 5, 2, 2, 1}
Returns: 2
5
{1, 1, 1, 1, 1, 2, 1}
Returns: 4
26
{3, 8, 10, 2, 4, 2, 8, 5, 9, 10, 2, 7, 9, 7}
Returns: 3
6
{3, 2, 2, 2, 3, 2}
Returns: 2
7
{2, 1, 2, 3, 3, 3}
Returns: 3
54
{20, 10, 11, 22, 14, 3, 18, 24, 46}
Returns: 2
79
{34, 9, 44, 61, 4, 2, 32, 20, 1, 20}
Returns: 2
33
{1, 4, 3, 1, 2, 1, 4, 2, 2, 4, 5, 1, 1, 3}
Returns: 13
34
{4, 4, 2, 4, 1, 2, 2, 1, 1, 3, 2, 1, 4, 3}
Returns: 14
96
{38, 37, 42, 2, 37, 36, 16}
Returns: 3
6
{1, 1, 2, 1, 2, 2, 1, 1}
Returns: 3
5
{1, 1, 1, 1, 1, 2, 1}
Returns: 4
26
{3, 8, 10, 2, 4, 2, 8, 5, 9, 10, 2, 7, 9, 7}
Returns: 3
6
{3, 2, 2, 2, 3, 2}
Returns: 2
7
{2, 1, 2, 3, 3, 3}
Returns: 3
54
{20, 10, 11, 22, 14, 3, 18, 24, 46}
Returns: 2
79
{34, 9, 44, 61, 4, 2, 32, 20, 1, 20}
Returns: 2
33
{1, 4, 3, 1, 2, 1, 4, 2, 2, 4, 5, 1, 1, 3}
Returns: 13
34
{4, 4, 2, 4, 1, 2, 2, 1, 1, 3, 2, 1, 4, 3}
Returns: 14
96
{38, 37, 42, 2, 37, 36, 16}
Returns: 3
33
{3, 4, 1, 1, 4, 4, 1, 2, 2, 2, 1, 2, 3, 2, 1}
Returns: 15
64
{50, 1, 1, 1, 2, 3, 1, 2, 3}
Returns: 9
64
{50, 2, 2, 2, 2, 2, 2, 2}
Returns: 8
65
{50, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1}
Returns: -1
30
{3, 3, 3, 3, 2, 1, 2, 4, 4, 2, 1, 2}
Returns: 12
30
{3, 4, 2, 2, 3, 4, 1, 1, 3, 3, 2, 2}
Returns: 12
24
{6, 3, 1, 4, 4, 1, 1, 1, 1, 1, 1}
Returns: 11
24
{6, 4, 1, 1, 5, 2, 2, 1, 1, 1, 1, 1}
Returns: 10
22
{7, 6, 4, 1, 3, 1}
Returns: 6
8
{2, 2, 2, 2, 2, 2, 2}
Returns: 4
24
{7, 4, 4, 3, 1, 1, 1, 1, 1, 1}
Returns: 10
25
{7, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1}
Returns: 11
Here, we can make a touchdown by running the following plays: {1, 1, 3, 7}, {1, 1, 4, 4} and {1, 1, 1}
10
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1}
Returns: -1
30
{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2}
Returns: -1
60
{4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4}
Returns: 15
45
{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3}
Returns: 15
75
{5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5}
Returns: 15
90
{6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6}
Returns: 15
99
{7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7}
Returns: 15
65
{64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64, 64}
Returns: -1
12
{2, 2, 2, 2, 2, 2}
Returns: -1
At first glance one might think a touchdown is possible in 6 plays, but note that 10 or more yards cannot be made in 4 plays.
57
{1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 9, 9, 9}
Returns: 15
54
{1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 9, 9, 9}
Returns: 12
69
{58, 11, 33, 22}
Returns: 2
9
{1, 1, 1, 6 }
Returns: 4
33
{7, 1, 1, 1, 7, 1, 1, 1, 7, 1, 1, 1, 1, 1, 1 }
Returns: 15
99
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 23, 19, 11 }
Returns: 8
25
{7, 4, 4, 3, 1, 1, 1, 1, 1, 1, 1 }
Returns: 11
40
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
Returns: 3
99
{2, 3, 15, 2, 61, 9, 81, 9, 11, 99, 12, 56, 33, 23 }
Returns: 1
99
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
Returns: 9
99
{11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 99 }
Returns: 1
99
{16, 27, 49, 82, 13, 15, 24, 16, 34, 19, 34, 43, 38, 27, 14 }
Returns: 2
32
{2, 2, 6, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }
Returns: -1
25
{2, 2, 3, 2, 3, 3, 1, 2, 1, 4, 2 }
Returns: 11
99
{98, 98, 40, 59 }
Returns: 2
60
{4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }
Returns: 15
25
{1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15 }
Returns: 2