Fişierul intrare/ieşire: | joc13.in, joc13.out | Sursă | OJI 2010, clasele 11-12 |
Autor | Constantin Galatan | Adăugată de | |
Timp execuţie pe test | 0.1 sec | Limită de memorie | 8192 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Joc13
Jocul nostru presupune parcurgerea unui tablou bidimensional cu două linii şi N coloane, format din 2 x N celule pătratice. Fiecare celulă are asociată câte o valoare întreagă v 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 1 şi coloana 1, iar celula de sosire este cea din linia 2 şi coloana N.
- nu trece decât cel mult o dată 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 K 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.
Cerinta
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 joc13.in va conţine pe prima linie două numere naturale N şi K separate printr-un spaţiu cu semnificaţiile din enunţ. Pe fiecare dintre următoarele două linii se găsesc câte N numere întregi, reprezentând valorile asociate celor 2 x N celule ale tabloului.
Date de ieşire
Fişierul de ieşire joc13.out va conţine pe prima linie numărul întreg P, reprezentând punctajul maxim care se poate obţine.
Restricţii
- 2 ≤ N ≤ 5000
- 2 ≤ K ≤ 10, K ≤ N
- -1000 ≤ v ≤ 1000
- Pentru 40% dintre cazurile de test N ≤ 40.
Exemplu
joc13.in | joc13.out | Explicaţie |
---|---|---|
6 3 0 -2 5 4 -9 -1 -1 3 2 7 0 1 | 21 | ![]() |
5 5 0 0 4 2 10 2 -3 -8 6 -2 | 14 | ![]() |
5 4 -3 0 5 4 10 -2 3 -2 7 0 | 22 | ![]() |