Task 58_1. Формула 1

Task 58_1. Формула 1

UniLecs

Задача: в формуле 1 изменилиись правила. Теперь перед тем как выехать команда может выполнить нектр модернизации болида.

Для каждой модернизации известно на сколько она увеличивает скорость болида, а также время за ктр она может быть выполнена. 

Можно выполнить несколько различных модернизаций, но каждая модернизация может быть выполнена не более одного раза.

Дано расстояние трассы Dist (метры),

Скорость болида без модернизации - V (м/с)

Vi - Массив, i-й элемент массива содержит прирост скорости (м/с) после модернизации болида.

Ti - Массив, i-й элемент массива содержит время (сек) затрачиваемое на i-ю модернизацию из массива Vi

Вывести минимальное время, ктр потребуется пилоту для того, чтобы проехать трассу длиной l с учетом времени на всевозможные модернизации болида.

Например,

Dist = 100 

V = 5 

Vi = [ 5 5 ]

Ti = [ 3 3 ]

Вывод:

12.66

Реализация:

  1. @lPestl снова нас удивляет разнообразием языков, он прислал нам решения на F#, Basic
@lPestl, реализация на F#

https://gist.github.com/lpestl/95e9a41cad2832e8743b8446f39449df


Код на Basic довольно громоздкий, поэтому переходим по ссылочке:

https://gist.github.com/lpestl/030a55fda42cb3bcb74f391bd1355dca


Также Михаил добавил описание, как это все работает и подробную инструкцию как это запустить:

https://www.dropbox.com/s/suf8ze2lbvl94tk/README.md?dl=0


2. Yeldos Balgabekov прислал свою реализацию на Python

Yeldos Balgabekov, реализация на Python

https://gist.github.com/unilecs/6423b1c07a43370ff671fd4fc5ad136d


Report Page