Task 59. Заказы
UniLecsЗадача: Фирма получила некоторые проекты и разбила их на меньшие независимые заказы с разными стоимостями. Предполагается, что все заказы могут быть выполнены за одну единицу времени. Фирма, имея ограниченное время, должна выяснить, сколько в наилучшем случае, она сможет заработать, принимая более ценные заказы и отклоняя другие.
Дано время t, ктр имеется в распоряжении фирмы и массив, ктр содержит значения стоимости заказов.
Напишите функцию, ктр выведет максимальную заработанную сумму денег, ктр можно получить в пределах доступного времени.
Например,
1. t = 3, Arr = [1, 1, 1, 1, 1];
Вывод: 3
2. t = 4, Arr = [11, 2]
Вывод: 13
3. t = 4, Arr = [8, 2, 9, 17, 4, 4, 10]
Вывод: 44
Идея: задача из раздела так называемых жадных алгоритмов. Очевидно, что фирме выгодней выполнять заказы с наиболее высокой стоимостью. Нужно просто отсортировать массив заказов и найти сумму стоимостей t наиболее ценных из них. Если t >= кол-ву элементов массива, то следует выполнить все заказы.
Реализация:

https://gist.github.com/unilecs/b53334bae70ae3d007950af4321355d2
Тест: