Problem Statement
You are now in the coding phase of the contest. There are 3 problems in the contest. You have practiced a lot before in practice rooms, so you are sure that you can solve the first problem in skills[0] minutes, the second problem in skills[1] minutes and the third problem is skills[2] minutes.
You have exactly 75 minutes to solve the problems. Before submitting a solution to a problem, you must first open the problem. If you submit a solution to a problem t minutes after you open the problem, you will receive:
- (points[0] - 2t) points for the first problem, or
- (points[1] - 4t) points for the second problem, or
- (points[2] - 8t) points for the third problem.
In your strategy, you only submit a solution to a problem after you solve the problem. If you don't submit a solution to a problem, you will receive zero points for the problem.
It is well-known that luck plays an important role in a contest. A fortune-teller told you that you have luck points of luck. You may use these points to decrease the amount of time you need to solve the problems, in minutes. Of course, you don't have to use all the points. Each point is worth one minute per problem. So, if you initially can solve a problem in t minutes, by using x points of luck (where x is a positive integer and 0 < x < t), you can solve the problem in (t - x) minutes (it is impossible to use t or more points of luck on the problem).
Arrange your strategy in this coding phase. Return the maximum total score you can achieve in this coding phase.
Definition
- Class:
- SRMCodingPhase
- Method:
- countScore
- Parameters:
- int[], int[], int
- Returns:
- int
- Method signature:
- int countScore(int[] points, int[] skills, int luck)
- (be sure your method is public)
Constraints
- points will contain exactly 3 elements.
- points[0] will be between 250 and 300, inclusive.
- points[1] will be between 450 and 600, inclusive.
- points[2] will be between 900 and 1100, inclusive.
- skills will contain exactly 3 elements.
- Each element of skills will be between 1 and 100, inclusive.
- luck will be between 0 and 100, inclusive.
Examples
{250, 500, 1000}
{10, 25, 40}
0
Returns: 1310
You don't have any luck points. However, you can solve all the problems in exactly 75 minutes.
{300, 600, 900}
{30, 65, 90}
25
Returns: 680
Use 25 luck points on the 600-point problem, and then solve the 300- and 600-point problems.
{250, 450, 1100}
{50, 70, 90}
20
Returns: 540
Use 20 luck points on the 1100-point problem, and then solve it.
{250, 550, 950}
{10, 25, 40}
75
Returns: 1736
Using the large amount of luck points, solve each problem in only 1 minute.
{256, 512, 1024}
{35, 30, 25}
0
Returns: 1216
{300, 600, 1100}
{80, 90, 100}
4
Returns: 0
{250, 450, 900}
{1, 1, 1}
0
Returns: 1586
smallest case
{271, 549, 942}
{75, 100, 100}
0
Returns: 121
{256, 555, 999}
{100, 75, 100}
0
Returns: 255
{300, 600, 1100}
{100, 100, 75}
0
Returns: 500
{299, 460, 1002}
{77, 77, 77}
1
Returns: 0
{250, 500, 1000}
{26, 26, 26}
0
Returns: 1188
{300, 500, 999}
{75, 75, 75}
100
Returns: 1295
{300, 600, 1100}
{100, 100, 100}
100
Returns: 1092
{250, 500, 1000}
{76, 76, 76}
1
Returns: 400
{250, 500, 1000}
{40, 100, 35}
0
Returns: 890
{250, 500, 1000}
{100, 35, 40}
0
Returns: 1040
{250, 500, 1000}
{25, 50, 100}
0
Returns: 500
{266, 457, 991}
{80, 82, 61}
78
Returns: 1184
{253, 492, 1043}
{75, 71, 30}
9
Returns: 875
{275, 468, 1064}
{92, 39, 72}
98
Returns: 1476
{296, 538, 930}
{25, 74, 7}
54
Returns: 1602
{285, 564, 963}
{33, 54, 94}
33
Returns: 699
{288, 498, 910}
{30, 12, 3}
28
Returns: 1654
{269, 600, 1098}
{92, 46, 95}
17
Returns: 484
{282, 501, 910}
{35, 15, 97}
59
Returns: 1047
{296, 587, 958}
{100, 36, 71}
5
Returns: 463
{284, 503, 955}
{12, 7, 13}
100
Returns: 1728
{284, 590, 923}
{12, 62, 66}
92
Returns: 1625
{269, 479, 1053}
{18, 94, 16}
20
Returns: 1288
{267, 599, 933}
{52, 59, 4}
3
Returns: 1288
{256, 481, 994}
{13, 95, 45}
99
Returns: 1537
{264, 466, 988}
{54, 50, 29}
15
Returns: 1142
{266, 556, 922}
{97, 15, 59}
16
Returns: 1074
{284, 475, 993}
{52, 19, 45}
1
Returns: 1040
{261, 594, 937}
{47, 26, 62}
14
Returns: 1043
{262, 514, 927}
{80, 57, 68}
38
Returns: 687
{293, 496, 997}
{95, 34, 58}
77
Returns: 1429
{271, 529, 975}
{47, 6, 28}
57
Returns: 1719
{252, 461, 1093}
{79, 95, 45}
71
Returns: 1274
{296, 470, 902}
{46, 15, 12}
34
Returns: 1582
{259, 561, 904}
{80, 62, 2}
0
Returns: 1201
{280, 476, 964}
{43, 12, 29}
69
Returns: 1682
{253, 471, 919}
{63, 98, 85}
90
Returns: 1050
{253, 517, 1033}
{33, 79, 58}
80
Returns: 1318
{270, 504, 1050}
{12, 35, 75}
10
Returns: 650
{290, 536, 1034}
{41, 42, 37}
54
Returns: 1674
{292, 581, 950}
{14, 23, 86}
9
Returns: 789
{264, 487, 1016}
{19, 88, 89}
30
Returns: 544
{257, 533, 1021}
{3, 99, 99}
39
Returns: 792
{272, 527, 1097}
{39, 1, 32}
68
Returns: 1880
{287, 551, 1026}
{16, 69, 70}
5
Returns: 506
{274, 559, 906}
{87, 86, 69}
94
Returns: 1217
{255, 554, 904}
{82, 5, 97}
26
Returns: 685
{291, 549, 1037}
{6, 94, 26}
21
Returns: 1276
{252, 596, 980}
{88, 96, 51}
15
Returns: 692
{270, 555, 1072}
{62, 96, 91}
30
Returns: 584
{276, 491, 1027}
{57, 98, 72}
0
Returns: 451
{278, 526, 1045}
{56, 83, 78}
0
Returns: 166
{288, 547, 1022}
{44, 21, 12}
1
Returns: 1397
{296, 490, 910}
{13, 65, 1}
100
Returns: 1682
{257, 580, 907}
{22, 49, 31}
32
Returns: 1504
{278, 499, 962}
{13, 81, 34}
10
Returns: 1022
{294, 569, 1092}
{94, 55, 82}
90
Returns: 1469
{279, 458, 976}
{66, 99, 66}
41
Returns: 776
{294, 571, 983}
{55, 75, 34}
7
Returns: 767
{285, 486, 1051}
{82, 68, 50}
19
Returns: 803
{271, 505, 919}
{21, 30, 70}
23
Returns: 772
{250, 550, 950 }
{10, 25, 40 }
75
Returns: 1736
{300, 600, 1100 }
{80, 90, 100 }
4
Returns: 0
{300, 600, 900 }
{50, 50, 100 }
25
Returns: 700
{300, 600, 900 }
{80, 30, 30 }
0
Returns: 1140
{300, 600, 900 }
{30, 65, 90 }
25
Returns: 680
{250, 500, 1000 }
{77, 2, 2 }
4
Returns: 1488
{250, 500, 900 }
{25, 50, 100 }
0
Returns: 500
{284, 568, 1066 }
{65, 46, 28 }
68
Returns: 1760
{250, 450, 900 }
{100, 55, 3 }
65
Returns: 1338
{250, 450, 1100 }
{74, 74, 100 }
85
Returns: 980
{300, 500, 1000 }
{10, 10, 10 }
5
Returns: 1700
{250, 550, 950 }
{10, 25, 40 }
55
Returns: 1686
{250, 500, 1000 }
{76, 76, 75 }
1
Returns: 408
{250, 500, 1000 }
{75, 75, 75 }
0
Returns: 400
{250, 500, 1000 }
{76, 76, 76 }
75
Returns: 992
{250, 500, 1000 }
{30, 99, 99 }
0
Returns: 190
{250, 450, 1100 }
{26, 26, 100 }
25
Returns: 644
{250, 500, 1000 }
{1, 99, 40 }
60
Returns: 1240
{250, 500, 1000 }
{71, 71, 5 }
0
Returns: 960
{250, 450, 900 }
{65, 100, 100 }
0
Returns: 120
{300, 450, 1100 }
{1, 74, 1 }
0
Returns: 1390
{250, 450, 1100 }
{42, 32, 2 }
0
Returns: 1406
{250, 500, 1000 }
{75, 100, 5 }
10
Returns: 1104
{250, 500, 1000 }
{10, 10, 10 }
11
Returns: 1690
{250, 450, 900 }
{1, 1, 1 }
1
Returns: 1586
{250, 450, 900 }
{10, 99, 99 }
20
Returns: 248
{250, 500, 1000 }
{100, 100, 100 }
0
Returns: 0
{250, 500, 1100 }
{30, 45, 30 }
0
Returns: 1180
{250, 550, 950 }
{60, 60, 60 }
60
Returns: 1256
{250, 500, 1000 }
{10, 100, 10 }
0
Returns: 1150
{250, 450, 900 }
{100, 100, 100 }
50
Returns: 500
{250, 500, 1000 }
{90, 90, 10 }
0
Returns: 920
{250, 450, 900 }
{60, 100, 100 }
0
Returns: 130
{250, 500, 1000 }
{10, 25, 40 }
40
Returns: 1626
{250, 450, 1100 }
{35, 40, 76 }
4
Returns: 524
{300, 500, 1000 }
{15, 75, 60 }
75
Returns: 1526
{250, 500, 1000 }
{100, 45, 50 }
10
Returns: 680
{250, 500, 1000 }
{20, 20, 20 }
20
Returns: 1626
{250, 500, 1000 }
{75, 100, 100 }
1
Returns: 102
{300, 600, 900 }
{31, 26, 21 }
74
Returns: 1784
{250, 500, 990 }
{30, 65, 10 }
11
Returns: 1230
{300, 600, 900 }
{65, 65, 65 }
65
Returns: 1236
{300, 600, 900 }
{40, 40, 40 }
100
Returns: 1752
{250, 500, 1000 }
{80, 80, 80 }
100
Returns: 1256
{266, 511, 1022 }
{11, 14, 50 }
50
Returns: 1717
{250, 500, 1000 }
{100, 100, 1 }
1
Returns: 992
{250, 500, 1000 }
{30, 30, 30 }
15
Returns: 1450
{250, 500, 1000 }
{40, 40, 40 }
20
Returns: 1180
{250, 450, 900 }
{10, 10, 10 }
12
Returns: 1544
{256, 512, 1024 }
{35, 30, 25 }
0
Returns: 1216
{250, 550, 950 }
{20, 30, 40 }
50
Returns: 1626
{300, 600, 900 }
{25, 51, 76 }
1
Returns: 650
{250, 500, 1000 }
{1, 100, 1 }
1
Returns: 1240
{300, 450, 1000 }
{40, 100, 40 }
50
Returns: 1234
{250, 500, 1000 }
{75, 76, 75 }
0
Returns: 400
{250, 450, 1100 }
{80, 90, 75 }
75
Returns: 1092
{300, 600, 900 }
{100, 100, 75 }
0
Returns: 300
{300, 600, 900 }
{1, 1, 75 }
0
Returns: 894