Jocul nostru presupune parcurgerea unui tablou bidimensional cu două linii şi coloane, format din celule pătratice. Fiecare celulă are asociată câte o valoare întreagă care nu se modifică pe durata desfăşurării jocului. Jucătorii trebuie să găsească un drum de la celula de plecare la celula de sosire care respectă următoarele condiţii:
- celula de plecare este cea din linia şi coloana , iar celula de sosire este cea din linia şi coloana .
- nu trece decât cel mult odată prin oricare celulă.
- deplasarea se poate face din celula curentă spre oricare altă celulă învecinată cu ea pe orizontală sau verticală.
- conţine cel mult celule consecutive aflate pe aceeaşi linie.
Pentru un astfel de drum se calculează punctajul acestuia ca fiind egal cu suma valorilor asociate celulelor prin care trece drumul.
Cerinţă
Cunoscând valorile asociate celulelor tabloului, scrieţi un program care determină punctajul maxim care poate fi obţinut în acest joc.
Date de intrare
Fişierul de intrare joc.in
va conţine pe prima linie două numere naturale şi separate printr-un spaţiu cu semnificaţiile din enunţ. Pe fiecare dintre următoarele două linii se găsesc câte numere întregi, reprezentând valorile asociate celor celule ale tabloului.
Date de ieşire
Fişierul de ieşire joc.out
va conţine pe prima linie numărul întreg , reprezentând punctajul maxim care se poate obţine.
Restricţii şi precizări
- Pentru dintre cazurile de test
Exemple
joc.in
6 3
0 -2 5 4 -9 -1
-1 3 2 7 0 1
joc.out
21
joc.in
5 5
0 0 4 2 10
2 -3 -8 6 -2
joc.out
14
joc.in
5 4
-3 0 5 4 10
-2 3 -2 7 0
joc.out
22
Explicații
Pentru primul test:
Jucătorul va parcurge în ordine celulele cu valorile:
0, -1, 3, 2, 5, 4, 7, 0, 1
Pentru al doilea test:
Jucătorul va parcurge în ordine celulele cu valorile:
0, 0, 4, 2, 10, -2
Pentru ultimul test:
Jucătorul va parcurge în ordine celulele cu valorile:
-3,-2, 3, 0, 5, -2, 7, 4, 10, 0