Cerința
Aky, un elev pasionat de matematică, analiza într-o zi curios o matrice pătratică de dimensiune N
. Acesta a observat că această matrice are anumite submatrice, la rândul lor pătratice, ale căror elemente sunt egale. Astfel și-a pus o întrebare: pentru o matrice dată, care este submatricea pătratică de dimensiune maximă a acesteia cu toate elementele egale pe care o pot obține, știind că am voie să schimb valoarea a maxim K
elemente din matricea dată cu orice valoare consider și care este numărul minim de elemente ce trebuie schimbate pentru a obține o astfel de submatrice. Acesta ar rezolva problema de unul singur, dar este ocupat chiar acum deci vă cere vouă ajutorul!
Date de intrare
Fișierul de intrare matrix_replace.in
conține pe prima linie numerele N
și K
, reprezentând dimensiunea matricei inițiale, respectiv câte elemente am voie maxim să schimb din aceasta, iar pe următoarele N
linii câte N
numere naturale reprezentând elementele matricei inițiale.
Date de ieșire
Fișierul de ieșire matrix_replace.out
va conține pe prima linie numărele D M
, reprezentând dimesiunea maximă a unei submatrice cu proprietatea din enunț, respectiv numărul minim de elemente ale căror valori trebuie schimbate pentru a obține această submatrice.
Restricții și precizări
1 ≤ N ≤ 150
0 ≤ K ≤ N * N
- elementele matricei vor fi numere naturale mai mici sau egale ca
100
- pentru o matrice dată, o submatrice a acesteia având coordonatele colțului stânga-sus
x1 y1
și coordonatele colțului dreapta-josx2 y2
este formată din toate elementele din matrice având indicele liniei în intervalul[x1, x2]
și indicele coloanei în intervalul[y1, y2]
. Această submatrice se numește submatrice pătratică dacă are același număr de linii și coloane - Subtask 1: pentru
20
de puncteN ≤ 20
- Subtask 2: pentru alte
10
de puncte numărul de valori distince din matrice este2
,K = 0
șiN ≤ 150
- Subtask 3: pentru alte
20
de puncte pot exista oricâte valori distincte în matrice,N ≤ 100
,K ≤ N * N
și valoarea maximă din matrice este mai mică sau egală decât10
- Subtask 4: pentru restul punctelor se păstrează condițiile inițiale:
1 ≤ N ≤ 150
,0 ≤ K ≤ N * N
și elementele matricei vor fi numere naturale nenule mai mici sau egale ca100
Exemplul 1:
matrix_replace.in
3 5 1 2 3 4 5 6 7 8 9
matrix_replace.out
2 3
Explicație
Putem de exemplu obține o submatrice pătratică de dimenisiune 2
schimbând valorile elementelor de coordonate: 1 2
, 2 1
, respectiv 2 2
cu 1
. Observăm că numărul minim de schimbări de elemente este 3
, deci în acest caz K = 5
, numărul de schimbări maxime pe care le putem efectua, nu este atins.
Exemplul 2:
matrix_replace.in
3 8 1 1 3 1 1 6 7 8 9
matrix_replace.out
3 5
Explicație
Putem transforma toată matricea într-o matrice cu toate elementele egale cu un număr minim de schimbări egal cu 5
, schimbând valorile elementelor diferite 1
cu 1
. Similar cu exemplul anterior, nici în această situație nu se atinge valoarea maximă K = 8
de elemente ale căror valori le putem schimba.