Domek z kart
Limit pamięci: 32 MB
Marcel dostał w tym roku na urodziny talię bardzo specyficznych kart. Nie służą one do gry, lecz do budowania domków z kart. Zaraz po rozpakowaniu prezentu niecierpliwy Marcel zbudował ogromną wieżę. Zrobił to w następujący sposób: w pierwszej kolejności opierał karty parami o siebie, następnie na powstałych szczytach stawiał kolejne karty, znów opierając je parami o siebie, i tak dalej. Okazało się, że na każdym piętrze, poza ostatnim, liczba szczytów była parzysta, więc zawsze dało się poprawnie zbudować wyższe piętro.
Każda z kart w talii ma swoją wartość.
Teraz Marcel żałuje, że nie przemyślał lepiej swojej konstrukcji
i zużył zbyt dużo wartościowych kart. Znając wartość każdej karty,
chciałby zdjąć nie więcej niż kart z wieży tak, aby suma ich wartości
była jak największa. Oczywiście domek z kart nie może się przy tym zawalić!
Aby po wyjęciu kart domek nadal był stabilny, Marcel nie może nigdy zdjąć pojedynczej karty, nie wyjmując zarazem jej pary (tzn. tej karty, z którą nawzajem się podpierają). Ponadto nigdy nie może zdjąć karty, nie zdjąwszy wcześniej wszystkich kart, które są wyżej od niej i pośrednio lub bezpośrednio są o nią oparte.
Wejście
W pierwszym wierszu standardowego wejścia znajdują się dwie liczby
całkowite i
,
,
,
oznaczające odpowiednio liczbę pięter karcianej wieży i maksymalną liczbę
kart, które Marcel może zdjąć.
Ponieważ karty można zdejmować tylko w parach, to
będzie zawsze parzyste.
Kolejne wierszy wejścia zawiera opisy poszczególnych pięter wieży
od najwyższego do najniższego. W
-szym wierszu znajduje się
liczb całkowitych
,
, ...,
(
),
oznaczających wartości kart na
-tym piętrze od góry, w
kolejności od lewej do prawej.
W testach wartych łącznie 50% punktów zachodzą dodatkowe ograniczenia:
,
.
Wyjście
Twój program powinien wypisać na standardowe wyjście dokładnie jedną liczbę całkowitą
- maksymalną sumę wartości kart,
jaką Marcel może odzyskać, wyjmując maksymalnie kart z wieży, tak aby ta się nie zawaliła.
Przykład
Dla danych wejściowych:
3 6 1 -3 -10 1 2 1 1 1 3 2 -1 5 2 -3
poprawną odpowiedzią jest:
5
Karty, które Marcel powinien wyjąć z wieży, zostały zaznaczone na rysunku
liniami przerywanymi.
Mają one wartości: ,
,
,
,
,
, a więc suma ich wartości to
.
Autor zadania: Michał Włodarczyk.