Problem description
Pewien biegacz postanowił wziąć udział w morderczym ultramaratonie składającym się z N kolejnych odcinków trasy. Pokonanie i-tego odcinka o własnych siłach wymaga zużycia dokładnie Ai jednostek energii.
Przed startem maratończyk ma w pełni naładowany zapas energii równy X. W trakcie zawodów może co najwyżej K razy skorzystać ze specjalnej taksówki dla biegaczy.
Skorzystanie z taksówki na danym odcinku niesie ze sobą dwie korzyści: 1. Biegacz nie zużywa na nim ani jednej jednostki energii. 2. Podczas jazdy odpoczywa, dzięki czemu po opuszczeniu pojazdu poziom jego energii wynosi ponownie dokładnie X (niezależnie od tego, ile energii zostało mu przed wejściem).
Pomóż biegaczowi obliczyć minimalną początkową pojemność energii X, która pozwoli mu ukończyć całą trasę tak, aby w żadnym momencie poziom energii nie spadł poniżej zera.
Wejście
W Pierwszy wierszu wejścia znajdują się dwie liczby całkowite N oraz K oznaczające odpowiednio liczbę odcinków maratonu oraz maksymalną liczbę dozwolonych przejazdów taksówką.
Drugi wiersz wejścia zawiera N liczb całkowitych A1, A2, …, AN (1 ≤ Ai ≤ 109) pooddzielanych pojedynczymi odstępami, określających koszt energetyczny pokonania kolejnych odcinków.
Wyjście
Twój program powinien wypisać jedną liczbę całkowitą — minimalny początkowy poziom energii X, z którym maratończyk może ukończyć bieg.
Ograniczenia
1 ≤ N ≤ 105, 0 ≤ K ≤ N, 1 ≤ Ai ≤ 109
Przykład
| Wejście | Wyjście | Wyjaśnienie |
|
|
|
| Wejście | Wyjście | |
|
|
Ocenianie
| Podzadanie | Warunki | Punkty |
|---|---|---|
| 1 | K = 1 | 15 |
| 2 | N ≤ 20 | 15 |
| 3 | N ≤ 1000 | 30 |
| 4 | Brak dodatkowych ograniczeń | 40 |