Osoba musi ukończyć Njednostki pracy; charakter pracy jest taki sam.
Aby się zawiesić, wykonuje pierwszego dnia tylko jedną jednostkę pracy .
Chce uczcić zakończenie pracy, więc decyduje się wykonać jedną jednostkę pracy w ostatnim dniu .
Dozwolony jest tylko do wykonania x, x+1czyli x-1jednostek pracy w ciągu dnia , gdzie xjednostki pracy zostały ukończone poprzedniego dnia.
Twoim zadaniem jest stworzenie programu lub funkcji, która obliczy minimalną liczbę dni potrzebnych do ukończenia Njednostek pracy.
Przykładowe dane wejściowe i wyjściowe:
input -> output (corresponding work_per_day table)
-1 -> 0 []
0 -> 0 []
2 -> 2 [1,1]
3 -> 3 [1,1,1]
5 -> 4 [1,1,2,1] or [1,2,1,1]
9 -> 5 [1,2,3,2,1]
13 -> 7 [1,2,2,2,3,2,1]
Dane wejściowe mogą być pobierane za pomocą STDINlub jako argument funkcji lub w dowolny odpowiedni sposób.
Dane wyjściowe mogą być drukowane lub w wyniku funkcji lub w dowolny odpowiedni sposób.
To jest golf golfowy . Najkrótsze rozwiązanie wygrywa.