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 ≤ 1500 ≤ 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 y2este 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
20de puncteN ≤ 20 - Subtask 2: pentru alte
10de puncte numărul de valori distince din matrice este2,K = 0șiN ≤ 150 - Subtask 3: pentru alte
20de 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.