Ten tweet zawiera listę możliwych zamówień na Skrzydła chińskiej restauracji 1 :
Przy zamawianiu pizzy zwykle obliczam, jaki rozmiar daje mi najlepszy stosunek ceny do pizzy, co jest prostym obliczeniem. Jednak zminimalizowanie ceny zamówienia w tej restauracji nie jest tak prostym zadaniem, dlatego chciałbym być przygotowany na następne zamówienie.
Wyzwanie
Biorąc pod uwagę liczbę całkowitą większą lub równą , Twoim zadaniem jest zwrócić jedno możliwe zamówienie, które minimalizuje cenę (ogólnie najtańszą) i liczbę ofert.
Przykład
Gdybym zamówił Skrzydeł, okazałoby się, że najlepsza okazja kosztuje 111,20 . Istnieje jednak wiele zamówień, które będą kosztować tę kwotę, a mianowicie:
[50,50],[25,25,50],[25,25,25,25]
Ponieważ pierwsze zamówienie wykorzysta najmniejszą liczbę ofert ( ), wynik będzie [50,50]
.
Zasady
- Wejście będzie jakąś liczbą całkowitą
- Wynikiem będzie lista / tablica / ... rozmiarów zamówień, które sumują się do i minimalizują cenę zamówienia
- możesz zwrócić wszystkie możliwe zamówienia
Przypadki testowe
4 -> [4] (4.55)
23 -> [23] (26.10)
24 -> [6,18],[9,15],[12,12] (27.20)
31 -> [6,25] (34.60)
32 -> [4,28],[6,26],[7,25] (35.75)
33 -> [4,29],[5,28],[6,27],[7,26],[8,25] (36.90)
34 -> [6,28],[9,25] (38.00)
35 -> [35] (39.15)
125 -> [125] (139.00)
200 -> [25,50,125] (222.40)
201 -> [26,50,125] (223.55)
250 -> [125,125] (278.00)
251 -> [26,50,50,125] (279.15)
418 -> [15,28,125,125,125],[18,25,125,125,125] (465.20)
1001 -> [26,50,50,125,125,125,125,125,125,125] (1113.15)
12345 -> [15,80,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125],[25,70,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125],[45,50,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125,125] (13728.10)
Uwaga: listy te testami wszystkich możliwych wyjść w tym cenę, jesteś zobowiązany jedynie do wyjścia jednego , a ty nie wymaga wyjścia cena!
1: Można znaleźć dane jako CSV tutaj .