Author: Chahak Gupta
Tester: Rahul Johari
For checking whether there is a way to eat all dishes by Harry, we can make the optimal time schedule in the following way.
• First Harry will eat the dish. • Then during 10 minutes rest of Harry, Joseph will crack 2 jokes(each of 5 minutes) • Then Harry will again eat a dish, then Joseph, etc. • After Harry has completed all his dishes, Joseph will keep on cracking jokes of 5 minutes each.
Hence minimum duration of the even needed such that Harry could eat all his dishes will be t1 + 10 + t2 + 10 + … + tn = sum + (n - 1) * 10 where sum denote the total time of the eating all the dishes (sum of array).
So for checking feasibility of the solution, just check whether sum + (n - 1) * 10 ≤ duration of event or not?.
If it is feasible, then time remaining for Joseph will be the entire duration except the time when Harry is eating all the dishes. Hence time available for Joseph will be duration - sum. In that time Joseph will crack (duration - sum)/5 jokes.
Author’s solution can be found link text.