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.
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?
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.
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.
| Sada | 1 | 2 | 3 | 4 |
|---|---|---|---|---|
| $2\leq R, C\leq$ | $4$ | $10$ | $100$ | $600$ |
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.
Korešpondenčný seminár z programovania zastrešuje občianske združenie Trojsten.
Trojsten, o.z.
FMFI UK, Mlynská dolina
842 48 Bratislava
Programátorská súťaž pre základoškolákov
Materiály a úlohy na výučbu programovania
Intenzívny programátorský zážitok v lete