RoAlgo PreOJI 2024 VII | partsum

This was the problem page during the contest. Access the current page here.
Time limit: 0.4s
Memory limit: 64MB
Input: partsum.in
Output: partsum.out

Cerință

Dintr-o matrice matmat de N×NN \times N se construiesc 33 matrice v1v_1, v2v_2, v3v_3 cu proprietățile următoare:
Pentru fiecare celulă din matrice (i,j)(i, j), 1i,jN 1 \leq i, j \leq N:

  • 0v1(i,j)<i0 \leq v_{1 (i, j)}<i;
  • 0v2(i,j)<j0 \leq v_{2 (i, j)}<j;
  • v3(i,j)=v_{3 (i, j)}= suma submatricei cu colțul stânga sus (iv1(i,j),jv2(i,j))(i-v_{1 (i, j)}, j-v_{2 (i, j)}) și cu colțul dreapta jos (i,j)(i, j) din matricea matmat

Vi se dau NN, KK și matricele v1v_1, v2v_2, v3v_3. Să se afișeze un mod de a schimba exact KK valori din matricea matmat, astfel încât suma valorilor din v3v_3 devine minimă. De asemenea, la final, va trebui să afișați suma minimă. Se poate alege ca elementul din celula (i,j)(i, j) din matricea matmat să ramână la fel, caz în care veți afișa (ii, jj, elementul matricei matmat din celula (i,j)(i, j)).

Date de intrare

Pe prima linie a fișierului de intrare partsum.in se găsesc două numere întregi, NN si KK. Pe următoarele NN linii se vor afla câte NN valori, reprezentând valorile din v1v_1. Pe următoarele NN linii se vor afla câte NN valori, reprezentând valorile din v2v_2. Pe următoarele NN linii se vor afla câte NN valori, reprezentând valorile din v3v_3.

Atenție!\bold{Atenție!} În teste, nu există linii goale între matricele v1v_1, v2v_2 și v2v_2, v3v_3. Acestea au fost puse doar pentru clarificarea exemplului!

Date de ieșire

Pe primele KK linii ale fișierului de ieșire partsum.out se vor afla trei valori lini,coli,xilin_i, col_i, x_i, reprezentând faptul că valoarea din celula (lini,coli)(lin_i, col_i) se va schimba în xix_i. Pe linia a K+1K+1-a se va afla suma minimă formată.

Atenție!\bold{Atenție!} Dacă cel puțin o valoare dintre linilin_i sau colicol_i nu se află în intervalul [1,N][1, N], verdictul va fi Răspuns Greșit. De asemenea, dacă cel puțin o valoare xix_i nu se află in întervalul [0,3×106][0, 3 \times 10^6], verdictul va fi Răspuns Greșit.

Restricții și precizări

  • 1N6001 \leq N \leq 600;
  • 1KN21 \leq K \leq N^2;
  • Pot exista mai multe soluții corecte, se va accepta oricare dintre ele
  • Daca cele KK schimbări nu duc la suma valorilor din v3v_3 fiind suma afișată pe linia a K+1K+1-a, se vor acorda 00 puncte!
  • Se garantează că matricele v1v_1, v2v_2 şi v3v_3 provin dintr-o matrice matmat
  • 0v3(i,j)10120 \leq v_{3 (i, j)} \leq 10^{12}
  • Se garantează că elementele matricei matmat sunt numere naturale
# Punctaj Restricții
1 13 v1(i,j)=v2(i,j)=0v_{1 (i, j)}=v_{2 (i, j)}=0, 1i,jN1 \leq i, j \leq N
2 15 K=1K=1
3 29 1N501 \leq N \leq 50
4 43 Fără alte restricții

Exemplul 1

partsum.in

2 1
0 0
0 0

0 1
0 0

2 5
3 3

partsum.out

1 1 0
9

Explicație

Matricea matmat din care provin v1v_1, v2v_2 si v3v_3 este:

2 3
3 3

Daca schimbăm valoarea 22 în 00, din celula (1,1)(1, 1), sumele de pe rândul 11 vor deveni 0 30 \ 3, iar suma valorilor din v3v_3 devine 0+3+3+3=90+3+3+3=9. Aceasta este suma minimă care se poate forma dacă schimbăm cel mult un element.

Contest info

Official contest

Start time: 1709532000000

Total duration: 168h0m0s

Status: Ended

Individual duration: 3h0m0s

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