Diamante

Time limit: 0.1s Memory limit: 64MB Input: diamante.in Output: diamante.out

În fiecare zi, cei 7 pitici lucrează cu spor în mina lor, pentru a colecta cât mai multe diamante. Mina poate fi reprezentată ca o matrice pătratică cu latura NN, în fiecare element al matricei aflându-se un număr cunoscut de diamante. Piticii au cumpărat o mașinărie specială, care să le faciliteze munca. Cu ajutorul acesteia, se pot colecta diamante în două moduri. Primul mod, denumit colectare principală, presupune colectarea diamantelor de pe KK diagonale învecinate, paralele cu diagonala principală a matricei; al doilea mod, denumit colectare secundară, presupune colectarea diamantelor aflate pe KK diagonale învecinate, paralele cu diagonala secundară a matricei. Piticii pot folosi aparatul o singură dată pentru un tip de colectare. În urma unei colectări, elementele afectate de aceasta nu mai conțin diamante.

Deoarece încă nu știu să folosească mașinăria la capacitate maximă, piticii au nevoie de ajutorul tău!

Cerință

Scrieți un program care să-i ajute pe pitici, determinând:

  1. Numărul maxim de diamante care pot fi colectate în urma unei colectări principale;
  2. Numărul maxim de diamante care pot fi colectate în urma unei colectări secundare;
  3. Numărul maxim de diamante pe care piticii le pot colecta din mină.

Date de intrare

Fișierul de intrare diamante.in conține pe prima linie numărul CC, care poate fi doar 11, 22 sau 33.

Pe a doua linie a fișierului, se află numerele naturale NN și KK. Fiecare din următoarele NN linii conține câte NN numere naturale, reprezentând numărul de diamante aflate în fiecare celulă.

Date de ieșire

Dacă C=1C=1, fișierul de ieșire diamante.out va conține un număr natural reprezentând numărul maxim de diamante care se pot colecta în cadrul unei colectări principale.

Dacă C=2C=2, fișierul de ieșire diamante.out va conține un număr natural reprezentând numărul maxim de diamante care se pot colecta în cadrul unei colectări secundare.

Dacă C=3C=3, fișierul de ieșire diamante.out va conține un număr natural reprezentând numărul maxim de diamante care se pot colecta în mină, folosind mașinăria.

Restricții și precizări

  • 1N5001 \leq N \leq 500
  • 1K<2N1 \leq K < 2 \cdot N
  • În orice celulă se află cel mult 5 0005 \ 000 de diamante.
  • Pentru 1515 de puncte, C=1C = 1.
  • Pentru alte 1515 de puncte, C=2C = 2.
  • Pentru alte 2020 de puncte, C=3C = 3 și K=1K = 1.

Exemplul 1

diamante.in

1
10 3
2 1 6 4 5 8 8 9 3 5
5 8 7 7 3 1 9 3 3 9
5 2 5 6 8 8 1 2 8 3
2 4 8 8 5 3 9 7 4 9
3 2 5 8 7 7 3 4 4 8
1 2 8 3 3 9 3 4 1 8
6 5 5 2 5 6 6 1 1 4
2 1 9 9 1 7 4 4 5 5
1 7 9 4 9 4 5 4 5 3
7 7 7 9 5 5 3 5 8 4

diamante.out

145

Explicație

Numărul maxim de diamante obținute după o colectare principală este 145145.

Exemplul 2

diamante.in

2
10 3
2 1 6 4 5 8 8 9 3 5
5 8 7 7 3 1 9 3 3 9
5 2 5 6 8 8 1 2 8 3
2 4 8 8 5 3 9 7 4 9
3 2 5 8 7 7 3 4 4 8
1 2 8 3 3 9 3 4 1 8
6 5 5 2 5 6 6 1 1 4
2 1 9 9 1 7 4 4 5 5
1 7 9 4 9 4 5 4 5 3
7 7 7 9 5 5 3 5 8 4

diamante.out

152

Explicație

Numărul maxim de diamante obținute după o colectare secundară este 152152.

Exemplul 3

diamante.in

3
10 3
2 1 6 4 5 8 8 9 3 5
5 8 7 7 3 1 9 3 3 9
5 2 5 6 8 8 1 2 8 3
2 4 8 8 5 3 9 7 4 9
3 2 5 8 7 7 3 4 4 8
1 2 8 3 3 9 3 4 1 8
6 5 5 2 5 6 6 1 1 4
2 1 9 9 1 7 4 4 5 5
1 7 9 4 9 4 5 4 5 3
7 7 7 9 5 5 3 5 8 4

diamante.out

274

Explicație

Numărul maxim de diamante ce pot fi colectate este 274274.

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