Problem Statement
Additionally, different cities may require her to stay for a different number of days. For each i, city i only counts as visited if Ciel spends at least d[i] days in the city.
You are given the
Definition
- Class:
- FoxAndVacation
- Method:
- maxCities
- Parameters:
- int, int[]
- Returns:
- int
- Method signature:
- int maxCities(int total, int[] d)
- (be sure your method is public)
Notes
- When solving the task, ignore travel times. (Fox Ciel always travels at night, and she can travel between any two cities very quickly.)
Constraints
- total will be between 1 and 50, inclusive.
- d will contain between 1 and 50 elements, inclusive.
- Each element of d will be between 1 and 50, inclusive.
Examples
5
{2,2,2}
Returns: 2
Fox Ciel's vacation lasts for 5 days. She needs at least 2 days to visit each of the cities, so she can visit at most 2 of them.
5
{5,6,1}
Returns: 1
She can only visit one city: either city 0, or city 2.
5
{6,6,6}
Returns: 0
This time the poor Fox Ciel cannot visit any city during her summer vacation.
6
{1,1,1,1,1}
Returns: 5
In this test case Ciel can visit all five cities. Note that at the end of her trip each city either does count as visited, or it does not -- there is no way to "visit" the same city twice.
10
{7,1,5,6,1,3,4}
Returns: 4
50
{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15}
Returns: 9
21
{14,2,16,9,9,5,5,23,25,20,8,25,6,12,3,2,4,5,10,14,19,12,25,15,14}
Returns: 6
14
{11,4,3}
Returns: 2
50
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Returns: 50
38
{15,12,17,11,23,19,6,19,30,19,13,27,23,12,3,14,18,22,35,36,4}
Returns: 5
13
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Returns: 13
32
{1,1,2,2,2,2,1,1,1,1,2,2,2,2,2,2,2,2,2,1,2,2,2,2,2,1,1}
Returns: 20
16
{5,8,17,13,15,13,23,7,15,5,23,10,2,13,20,5,1,21,6,10,8,25,2,20,2,12,13,25,25,24,24,21,13,11,3,18,2,5,5,12,6,11,8,6,6,1,23}
Returns: 7
10
{1,37,6,37,45,38,6,47,41,42,40,30,15,9,40,41,12,37,24,17,12,47,28,17,3,10,32,8,26,39,6,16,9,46,24,29,16,2,24,10,27,3,4,44,14,47}
Returns: 4
49
{1,1,1,3,1,1,1,2,3,1,3,1,3,1,3,3,1,3,1,1,3,3,1,2,3,3}
Returns: 25
18
{14,13,3,10,6,11,4,1,16,2,16,3,11,5,9,14,8,18,13}
Returns: 6
4
{15,18,9,2,21,20,20,14,24,33,3,33,5,3,1,31,19,21,23,29,6,14,15,3,24,29,33,21,13,7,20,30,26,33,18,19,22,3,11,21,32,30}
Returns: 2
25
{1,6,2,4,3,3,6,2,7,2,3,5,1,1,1,1,4,6,5,2,4,5,5,4,4,3}
Returns: 13
48
{4,5,2,3,5,5,3,1,3,5,5,5,4}
Returns: 12
23
{5,32,6,12,2,22,9,11,26,7,20,5,24,31,19,6,33,11,29,6,29,3}
Returns: 5
47
{9,31,32,15,13,27,19,9,10,9,14,20,25,8,6,8,10,14,7,19,18,27,1,30}
Returns: 6
46
{1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}
Returns: 23
39
{14,16,7,17,10,8,12,15,5,3,16,10,10,3,7,4,17,11,4,6,9,18,5,6,16,1,3,17,18,11,8,16,13,17,14,8,5,10,7,2,12}
Returns: 10
18
{20,5,11,21,20,14,3,15,17,4,6,4,11,16,23}
Returns: 4
31
{20,3,6,17,12,1,1,10,18,18,18,8,4,11,11,12}
Returns: 6
16
{8,3,5,5,14,7,8,1,10,9,5,6,10,3,1,7,5,10,12,15,12,1,9,1,14,6,4,3,7,2,15,5,2,14,13,9,5,13,16,11,7,15,10}
Returns: 8
28
{1,1,1}
Returns: 3
33
{12,4,13,20,10,4}
Returns: 4
50
{14,14,8,11,16,4,15,19}
Returns: 4
3
{11,9,26,20}
Returns: 0
43
{6,34,4,44,14}
Returns: 3
26
{24,10,7,40,32,18,7,24,40,35,19,32,16,28,17,29,38,2,2,20,33,16,6,24,30,25,5,20,34,26,12}
Returns: 5
22
{11,4,28,20,30,3,3,1,27,1,14,14,27,27,22,2,21,18,30,23,31,3,26,15,20,28,6,11,17,11,13,23,10,7}
Returns: 7
37
{5,1,3,6,8,12,13,3,5,3,3,6,8,12,3,9,4,2,5,5,8,9,1,9,3,5,4,7}
Returns: 12
39
{12,12,3,15}
Returns: 3
46
{3,4,2,1,3,3,3,4,1,4,1,1,1,2,3,4}
Returns: 16
42
{17,3,6,9,8,16,10,6,2,15,9,3,14,22,1,22,8,13,20,3,19,17,6,16,22,1,1,8,6,17,5,5,17,18}
Returns: 12
22
{8,1,1,2,6,4,4,4,2,3,10,2,9,1,5,8,2,1,2,3,9,1,10,1,9,7,8,4,6,2,9,2,7,4,7,7,5,5,4,7,8,8,7,10}
Returns: 13
37
{28,31,27}
Returns: 1
17
{8,5,14,10,13}
Returns: 2
43
{8,17,10,2,22,7,17,15,13,14,16,4,10,18,22,11,11,22,8,17,11,10,9,8,11,12,20,4,9,19,2,5,8,13,5,3,19,19,22,18,11,7,13,17,21,8,8}
Returns: 9
14
{2,2,2,2,2,1,2,1,2,2,1,1,2,1,2,1,2,1,2,2,1,1,1,2,2,1,2,1,1,1}
Returns: 14
39
{4,2,4,10,6,4,1,6,6,10,10,11,10,3,4,11,10,3,4,10,5,9,6,9,8,7,4,1,2,2,9,3,9,3,8,4,1,11,7,3,6,10,6,10,10,1}
Returns: 15
25
{26,5,32,4,7,37,30}
Returns: 3
15
{1,2,3,5,1,5,2,1,5,2,1,4,4,4,2,7,7,5,6}
Returns: 9
13
{6,3,1,1,4,2,3,2,2,5,4,3}
Returns: 6
27
{28,21,2,16,18,16,9,5,1,12,17,23,22,20,15,16,1,20,25,22,6,22,15,28,9,14,25,8,14}
Returns: 6
28
{13,21,12,4,1,17,13,6,9,5,3,8,1,13,4,12,16,13,10,23,11,19,23,11,16,13,3,22,12,6,20,23,10,17,9,24,7,21}
Returns: 8
49
{1,2,2,1,2,1,2,2,1,1,1,1,2,2,2,2}
Returns: 16
32
{21,17,9}
Returns: 2
50
{2,10,10,8,6,6,6,6,7,5,11,7,8,5,6,1,4,4,10,11,11,1,3,2,2,8,1,6,1,2,11,4,6,9,2,5,11,3,11,4}
Returns: 17
24
{5,2,7,9,11,6,2,3,1,6,8,4,11,2,10,11,7,11,7,8,7,8,8,3,11,7,10,7,6,10,5,7,9,8,7,9,8,11,3,10,8,3,2,6}
Returns: 9
40
{13,14,2,15,1,12,6,6,16,16,8,11,11,15,8,5,12,5,7,17,8,11,1,7,13}
Returns: 9
45
{30,13,4,24,15,13,17,10,12,13,29,14,28,28,15,28,8,2,27,17,5,24,27,13,25,4,7,4,1,15,29,19,20,29,9,5,6,15,15,20,11,26,29,20,7,12,24}
Returns: 10
13
{5,10,3,5,11,17,11,12,3,11,6,13,3,12,2,17,5,2,8,11,13,6,3,10,1,10,8,4,16,6,5,15,2,14,11,4,3}
Returns: 6
39
{3,11,11,2,6,7,8,4,11,13,2,12,5,6,3,11,1,1,8,7,8,9,8,4,5,7,11,1,7,11,13,5,3,1,5,10,13,5,10,10}
Returns: 13
14
{15,10,18,3,6,1,15,2,4,4,11,6,5,15,5,6,1,7}
Returns: 5
24
{10,2,9,3,2,3,6,2,8,2,9,5,4,2,2,3,9,6,6,3,4,3,5,7,3,2,10,5,4,9,9,1,5,8,5}
Returns: 11
28
{3,2,2,1,3,3,2,2,1,3,2,3,1,1,3,3,3,3,3,1,2,2,1,2,2}
Returns: 16
35
{47,36,22,27,16,26,5,50,10,2,7,24}
Returns: 4
44
{17,23,6,16,15,2,13,29,28,24,21,1,12,28,27,27,19,18,25,22,25,26,17,1,17,6,24,21,6,19,14,26,9}
Returns: 8
46
{28,14,23,22,30,30,20,6,32,23,30,9}
Returns: 3
14
{30,17,26,31,33,19,16,16}
Returns: 0
10
{9,23,9,31,36,37,14,8,21,7,43,16,21,40,7}
Returns: 1
14
{14,9,2,15,4,9,10,8,5,19,26,26,7,8,13,21,13,2}
Returns: 4
11
{10,9,4,8,5,12,1,6,7,3,6,2,2,14,11,15,6,8,6,3,10,13,13,6,16,14,16,2,4,13,6,14,7,10}
Returns: 5
42
{7,1,3,8,3,3,1,2,3,7,13,6,3,6,3,14,12,9,8,6,13,5,6,7,7,4,6,4,14,7,6,8,3,11,12,3,3,14,13,9,14}
Returns: 14
29
{23,4,22,11,12,12,12,21,17,12,23,15,20,7,21,11,13,11}
Returns: 3
34
{19,6,1,1,10,19,16,18,15,22,8,5,3,2,1,16}
Returns: 8
5
{7,1,2,3,8,4,4}
Returns: 2
22
{6,12,18,22,19,14,8,3,36,15,25,20,30,28,8,33,31,22,7,14,10,19,13,3,17,1,19,11,30,6,8,8,19,27,20,27,38}
Returns: 5
49
{3,12,2,8,30,5,2,27,13,7,12,9,28,13,23,17,20,23,27,25,14,27,4,2,9,21,29}
Returns: 9
27
{7}
Returns: 1
26
{12,8,6,6,4,1,1,9,2,1,9,12,13,3,3,4,11,11,3,5,7,10,8,10,13,6,7,3,10,5}
Returns: 10
28
{15,14,28,39,25,8,12,18,2,33,28,31}
Returns: 3
19
{39,23,16,30,32,6}
Returns: 1
19
{19,13,16,18,11,14,4,2,16,17,11,18,14,13,8,5,1,6,13,6,2,17,6,3,19,19,2,20,14,3,16,4,15,11,3,2,11,10,5,12,14,13,19,11,4,15}
Returns: 8
6
{16,18,31,21,29,14,5,29,1,30,30,24,18,17,42,4,14,41,11,39,6,11,22,31,16,13,24,31,42,33,13,25,7,19,41,22,13,4,11,8,21,22,33}
Returns: 2
34
{40,18,14,2,41,5,14,6,6,20,5,10,36}
Returns: 6
13
{1,23,14,13,7,10,15,5,20,19,25,13,28,27,16,29,22,18,26,1,2,22}
Returns: 4
46
{14,15,16,1,16,7,17,3,16,12,17,7,16,11,12,4,13,3,4,12}
Returns: 8
23
{44,36,20,18,38,26,1,5,5,12,20,32,39,21,40,34,26,21,43,21,11,38,37,6,19,27,43,47,14,5,42,17,19,22,30,28,33,35,29}
Returns: 5
46
{8,8,6,3,3,6,3,8,7,11,10,10,7,7,2,3,6,1,7,3,9,6,11,5,9,8,1}
Returns: 12
22
{3,2,2,1,3,3}
Returns: 6
49
{15,7,3,6,15,5,5,1,2,15,5,8,3,15,12,12,11,6,10,8,10,11,7,3,1,11,8,13,6}
Returns: 12
44
{14,33,14,28,14,1,19,26,15,30,5,12,22,9,13,4,14}
Returns: 6
32
{19,12,13,8,3,10,10,4,9,5,2,3}
Returns: 6
42
{13,21,18,6,10,17,5,9,8,9,12,19,1,12,8}
Returns: 6
5
{16,25,13,23,7,20,13,9,12,28,8,21,22,6,9,7,30,2,14,10,21,7,10,24,17,3,14,9,16,18,12,9,11,15,20,5}
Returns: 2
12
{26,6,6,27,19,1,4,6,27,5,12,1,29,14,6,3}
Returns: 4
12
{15,26,11,9,1,2,25}
Returns: 3
43
{10,4,10,13,8,4,9,9,10,9,12,5,11,12,9,10,4,3,7,13,12,1,4,7,7,2,9,4,12,11,5,2,13,13,3,5,12,7,9,2,4}
Returns: 13
18
{21,15,19,38,40,40,29,26,34,11,33,32,14,6,2,35,24,25,3,14,22,10,27,13,29,10,5}
Returns: 4
21
{31,26,13,5,6,26,21,11,7,5,4,15,28,29,25,26,30,20,22,30,12,1,19,7,8,18,34,11,29,15,32,20,19,30,29,26,10,7,18,2,8,19,6,23,18,19}
Returns: 5
38
{8,4,6,6,8,2,2,3,2,5,4}
Returns: 9
45
{2,7,11,17,2,9,18,16,16,8,5,18,5,17,16,5,4,13,16,10,9,3,18,15,9,5,14,7,11,3,6,17,9,7}
Returns: 10
37
{2,1,21,25,10,18,2,30,21,27,14,8,8,9,30,7,14,28,9,12,14,17,7,25,26,11,24,29,14,31,25,18,30,8,12,31}
Returns: 7
45
{3,1,3,2,1,3,2,2,1,2,3,3,2,3,3,2,3,3,3,3,2,2,2,2,2,3,1,2,3,2,3,1,3}
Returns: 22
12
{25,21,26,8,8,21,1,6,28,2,6,14,10,8,26,10,11,15,6,10,17,3,26,29,24,5,11,27,14,25,4}
Returns: 4
7
{50,32,39,40,19,49,25,46,7,29,12,23,19,17,12,15,41,36,26,45,16,2,3,9,13}
Returns: 2
37
{33,1,21,29,12,11,30,4,3,41,7,38,2,8,15,34,29,19,42,12,27,22}
Returns: 7
44
{18,17,7,28,29,9,6,17,26,7,11,28,14,11,27,31}
Returns: 5
45
{19,20,2,1,6,20,13,7,2,22,8,21,19,9,22,22,19,20,3,8,6,8,15,4,5,5,19,14,11,5,17,7,22,2}
Returns: 11
44
{29,13,17,33,31,7,36,17,20,39,13,8,30,36,25,6,13,35,13,34,27,40,25,40,35,21}
Returns: 4
38
{33}
Returns: 1
45
{23,19,15,24,34,27,17,18,6,35,17,4,23,34,8,32,32,19,10,16,2,21,32,30,4,22}
Returns: 6
9
{1, 2, 3, 6 }
Returns: 3
1
{1 }
Returns: 1
5
{5 }
Returns: 1
10
{2, 2, 2, 2, 2 }
Returns: 5
21
{14, 2, 16, 9, 9, 5, 5, 23, 25, 20, 8, 25, 6, 12, 3, 2, 4, 5, 10, 14, 19, 12, 25, 15, 14 }
Returns: 6
2
{1, 1, 1 }
Returns: 2
6
{1, 1, 1, 1, 1 }
Returns: 5
10
{7, 1, 5, 6, 1, 3, 4 }
Returns: 4
50
{1, 1 }
Returns: 2
50
{1 }
Returns: 1
10
{2, 2, 2, 2 }
Returns: 4
5
{1, 1, 1, 1, 1 }
Returns: 5
6
{5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
Returns: 6
5
{2, 2, 2 }
Returns: 2
5
{2, 2, 1 }
Returns: 3
5
{1, 1, 1, 1, 1, 1, 1 }
Returns: 5
50
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
Returns: 50
3
{3 }
Returns: 1
10
{1 }
Returns: 1
6
{1 }
Returns: 1
2
{2 }
Returns: 1
10
{1, 2, 3 }
Returns: 3
10
{9, 1, 2, 3, 4 }
Returns: 4
50
{1, 2 }
Returns: 2
12
{5, 7, 3 }
Returns: 2
50
{1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }
Returns: 10
5
{2, 1 }
Returns: 2