Problem Statement
A new coffee place opened on the campus of Talilulu University. Things work differently at this coffee place. Every customer arrives at time 0, and the owner decides the order in which to serve them. A single customer is served each second, until all the customers have been served. The first customer is served at second 0. If customer i is served at time t seconds, he will pay tips[i] - t. If this number is negative, he will not pay a tip at all. Given a
Definition
- Class:
- TaliluluCoffee
- Method:
- maxTip
- Parameters:
- int[]
- Returns:
- int
- Method signature:
- int maxTip(int[] tips)
- (be sure your method is public)
Constraints
- tips will contain between 0 and 50 elements, inclusive.
- Each element of tips will be between 0 and 100000, inclusive.
Examples
{3, 3, 3, 3}
Returns: 6
The order in which the customers will be served is not relevant because all tips are the same.
{3, 2, 3}
Returns: 5
A good solution is: first serve the second customer, then serve the third one, then the first one. The profit from tips will be 2 + (3 - 1) + (3 - 2) = 2 + 2 + 1 = 5.
{7, 8, 6, 9, 10}
Returns: 30
{1, 1, 1, 1, 2}
Returns: 2
{99988, 13098, 2007, 2008, 1765, 1989, 2022, 1982, 1222, 1552, 12123, 21311, 14154}
Returns: 175143
{1,2,3}
Returns: 4
{27, 24, 48, 27, 10, 20, 35, 22, 27, 26, 4, 6, 32, 19, 24, 37, 43}
Returns: 320
{39, 3, 9, 45, 43, 12, 7, 2, 38, 23, 48, 25, 5, 5, 1, 10, 46, 24, 46, 7, 42, 41, 35, 11, 30, 2, 11, 7, 45, 22, 41, 4, 49, 33, 45}
Returns: 570
{30, 36, 50, 7, 9, 50, 22, 3, 2, 14, 48, 23}
Returns: 246
{24, 35, 23, 47, 37, 3, 26, 28, 30, 7, 48, 10, 43, 29, 22, 23, 26, 38, 2, 34, 30, 39, 12, 27, 39, 48, 13, 31, 32, 47, 46, 4, 12, 29, 20, 49}
Returns: 586
{5}
Returns: 5
{14, 49, 33, 31, 44}
Returns: 161
{44, 17, 4, 27, 6, 27}
Returns: 111
{40, 5, 41, 22, 37, 25, 36, 16, 45, 40, 35, 32, 43, 4, 46, 49, 19, 27, 28, 36, 3, 36, 8, 42, 8, 22, 11, 25, 20, 35, 34, 45, 18, 50, 50, 41, 9, 47, 3, 45, 40, 1, 30, 16, 32, 30, 48, 9}
Returns: 735
{24, 1, 8, 1, 7, 26, 11, 33, 25}
Returns: 113
{23, 18, 43, 36, 23, 50, 4, 12, 15, 22, 35, 16, 39, 49, 13, 29, 20, 12, 17, 46}
Returns: 361
{40, 7, 47, 30, 2, 41, 46, 39, 20, 34, 48, 49}
Returns: 349
{17, 15, 10, 27, 36, 45, 32, 4}
Returns: 161
{6, 9, 44}
Returns: 56
{27, 43, 7, 13, 12, 22, 24, 21, 2, 11, 39, 20, 50, 33, 14, 4, 4, 43, 31, 2, 2, 9, 7, 7, 43, 36, 24, 46, 20, 10, 23, 12, 41, 10, 2, 1, 8, 48, 35, 37}
Returns: 496
{45, 45, 46, 3, 9, 10, 31, 14, 45, 26, 25, 22, 41, 10}
Returns: 295
{31, 23, 9, 31, 44, 39, 30, 46, 40, 29, 34, 37, 1, 38, 5, 36, 30}
Returns: 397
{36, 41, 4, 39, 17, 25, 7, 9, 7, 22, 28, 14, 10, 38, 21, 21, 42, 44, 43, 15, 45, 17, 22, 24, 48, 20, 20, 47, 44, 35, 7, 12, 37, 36, 21, 40, 49, 13, 35, 14, 9, 29, 46, 26, 47, 4}
Returns: 648
{12, 20, 32, 46, 21, 39, 49}
Returns: 198
{35, 41, 33, 38, 29, 44, 21, 4, 34, 6, 12, 31, 46, 27, 35, 40, 41, 46, 46, 10, 16, 7}
Returns: 467
{42, 42, 27, 19, 11, 17, 2, 28, 35, 41, 45, 14, 19, 4, 36, 35, 3, 46, 19, 44, 3, 47, 23, 18, 37, 22, 6, 18, 40, 39, 9, 21, 6, 30, 46, 15, 3, 49}
Returns: 565
{33, 21, 48, 1, 13, 8, 39, 8, 30, 1, 44, 46, 14, 5, 18, 29, 50, 44, 14, 19, 22, 47, 32, 9, 9, 35, 37, 36, 15, 27, 26, 29, 24, 20, 10, 50, 17, 4}
Returns: 539
{20, 8, 31, 48, 17, 26, 40, 28, 11, 29, 39, 13, 39, 29, 3, 19, 13}
Returns: 300
{5, 21, 4, 6, 25, 50, 33, 46, 4, 48, 31, 5, 35, 23, 6, 2, 19, 50, 23, 34, 33, 26, 42, 16, 50, 1, 47, 29, 32, 49, 8, 7, 41, 33, 37, 11, 12, 16, 21, 32, 19, 18, 45, 38, 44, 48, 50, 16}
Returns: 703
{9, 24, 36, 50, 1, 34, 1}
Returns: 143
{30, 41, 24, 45, 12, 11, 8, 29, 35, 40, 34, 35, 44, 19, 19, 44, 27, 23, 20, 40, 27, 41, 22, 7, 35, 29, 6, 28, 34, 24, 39, 47, 27, 35, 22, 26, 15, 14}
Returns: 560
{13, 46, 20, 9, 22, 11, 39, 20, 24, 31, 9, 43, 13, 47, 5, 15, 45, 41, 35, 19, 28, 26, 13, 41, 15, 50, 41, 27, 13, 14, 16, 47, 38, 24, 37, 27, 48}
Returns: 576
{13, 18, 15, 42, 8, 8, 48, 16, 2, 25, 6}
Returns: 157
{42, 49, 48, 44, 32, 31, 27, 50, 14, 15, 26, 4, 49, 29, 14, 42, 42, 37, 10, 25, 1, 28, 10, 30, 21, 16, 28, 34, 18, 31, 36, 10, 33, 15}
Returns: 562
{17, 40, 13, 3, 49, 28, 39, 10, 40, 27, 45, 49, 6}
Returns: 302
{14, 35, 16, 25, 35, 40, 7, 31, 7, 16, 6, 9, 34, 50, 16, 14, 40, 30, 45, 1, 7, 24, 23, 20, 3, 12, 31, 5, 25, 44}
Returns: 412
{}
Returns: 0
{100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000, 100000}
Returns: 4998775
{16, 16, 2, 3, 2, 2, 16, 3, 10, 9, 8, 2, 10, 6, 15, 11, 6, 11, 12, 7, 14, 6, 5, 6, 4, 13, 11, 3, 2, 8}
Returns: 90
{10, 2, 7, 10, 3, 6, 5, 11, 14, 15, 3, 5, 9, 15, 16, 12, 7, 16, 12, 11, 14, 8, 16, 16, 17, 11, 12, 11, 8, 16}
Returns: 113
{10, 14, 4, 16, 8, 15, 5, 17, 4, 12, 18, 4, 4, 1, 4, 19, 4, 21, 3, 7, 1, 9, 10, 7, 1, 18}
Returns: 115
{23, 4, 4, 3, 1, 25, 25, 17, 25, 17, 11, 23, 19, 22, 7, 4, 1, 17, 22, 21, 8, 23, 11, 15, 5, 22, 17, 18, 8, 24, 2, 19, 10, 12, 13, 22, 12, 10, 9}
Returns: 231
{1}
Returns: 1
{9, 9, 9, 6, 7, 11, 5, 7, 4, 10, 7, 3}
Returns: 41
{7, 12, 7, 23, 22, 7, 9, 11, 12, 15, 25, 9, 1, 10, 24, 3, 26, 13, 25, 4, 16, 1, 26, 22, 7, 8, 4}
Returns: 183
{5, 1, 3, 3, 2, 4, 3, 3, 3, 5, 1, 4, 4, 4, 3, 3, 4, 6, 6}
Returns: 16
{1, 2, 3}
Returns: 4
{2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 10, 10, 10, 10, 10, 10, 10, 50, 50, 1000, 1000, 24, 24, 24, 24, 24, 28, 30, 30 }
Returns: 2264
{ }
Returns: 0