joc

Time limit: 0.03s Memory limit: 4MB Input: joc.in Output: joc.out

Jocul nostru presupune parcurgerea unui tablou bidimensional cu două linii şi nn coloane, format din 2×n2 \times n celule pătratice. Fiecare celulă are asociată câte o valoare întreagă vv 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 11 şi coloana 11, iar celula de sosire este cea din linia 22 şi coloana nn.
  • 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 kk 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 nn şi kk separate printr-un spaţiu cu semnificaţiile din enunţ. Pe fiecare dintre următoarele două linii se găsesc câte nn numere întregi, reprezentând valorile asociate celor 2×n2 \times n celule ale tabloului.

Date de ieşire

Fişierul de ieşire joc.out va conţine pe prima linie numărul întreg pp, reprezentând punctajul maxim care se poate obţine.

Restricţii şi precizări

  • 2n5 0002 ≤ n ≤ 5 \ 000
  • 2k10,kn2 ≤ k ≤ 10, k ≤ n
  • 1 000v1 000-1\ 000 ≤ v ≤ 1\ 000
  • Pentru 4040% dintre cazurile de test n40n ≤ 40

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

Log in or sign up to be able to send submissions!