Zoznam úloh

3. Lacný polozisk

Kolo už skončilo. Môžeš si pozrieť vzorové riešenie.

Kubik zistil, že v Ebaystane sa dá kúpiť notebook a následne sa dá predať aj za dvojnásobok. Niekedy však notebook nefunguje, a tak Kubik získa menej, alebo je dokonca v strate. Predajcovia sú v Ebaystane postavaní, ako inak, do mriežky. O každom predajcovi Kubik vie, ako veľmi sa mu oplatí od neho notebook kúpiť. Presnejšie, pre každého predajcu si zrátal, aký zisk by mal, ak by od daného predajcu kúpil notebook.

V jeden deň sa Kubik vybral na nákupy. Postavil sa do ľavého horného rohu Ebaystanu. Teraz chce prejsť do pravého dolného rohu a chce pri tom dosiahnúť čo najväčší zisk. Má to ale problém. V Ebaystane je zakázané chodiť doľava, aby nenastali zrážky s inými nakupujúcimi, ktorí idú doprava. Kubik ale nemá času nazvyš a tak žiadneho predajcu nechce navštíviť viac, ako raz.

Úloha

Ebaystan je mriežka rozmerov $R \times C$. O každom políčku Kubik vie, koľko získa, ak cez dané políčko prejde. Keďže predajcovia sú otravní, po vstupe na políčko Kubik musí od daného predajcu notebook kúpiť.

Kubik začína v ľavom hornom rohu a chce skončiť v pravom dolnom. V týchto dvoch rohoch nie sú predajcovia. Ziskovosť týchto políčok je teda 0.

Kubik môže chodiť iba hore, dole a doprava. Naviac na žiadne políčko nemôže stúpiť viac, ako raz.

Koľko najviac vie Kubik zarobiť touto technikou nákupu za polovičnú hodnotu?

Formát vstupu

Na prvom riadku vstupu sú dve celé čísla $R$ a $C$, počet riadkov a počet stĺpcov. Platí, že $2 \leq R,\,C \leq 600$.

Nasleduje $R$ riadkov. V každom z týchto riadkov sa nachádza $C$ celých čísiel. Žiadne z týchto čísiel v absolútnej hodnote neprevýši $1000$. Je zaručené, že v ľavom hornom a pravom dolnom rohu je hodnota 0.

Formát výstupu

Vypíšte jedno číslo - aký najväčší zisk vie Kubik dosiahnúť, ak začne vľavo hore, skončí vpravo dole, na žiadne políčko nestúpi viac, ako raz a zároveň bude chodiť iba hore, dole, a doprava.

Hodnotenie

Sada 1 2 3 4
$2\leq R, C\leq$ $4$ $10$ $100$ $600$

Príklad

Input:

3 5
0 6 3 -2 9
3 6 -1 8 2
5 -7 1 2 0

Output:

37

Kubik použije cestu DRURDDRUURDD, kde D je dole, R je doprava a U je hore. Zoberie teda postupne políčka s hodnotami 0, 3, 6, 6, 3, -1, 1, 2, 8, -2, 9, 2, 0.

Pre odovzdávanie sa musíš prihlásiť.
Trojsten

Korešpondenčný seminár z programovania zastrešuje občianske združenie Trojsten.

Kontakt
Ďalšie projekty