Pasionat de informatică și de puzzle-uri, Dorel a construit o matrice de dimensiunea lipind mai multe piese dreptunghiulare de diferite dimensiuni. Fiecare piesă este compusă din elemente de dimensiunea și rețin o aceeași valoare (vezi exemplele). Matricea rezultată nu are spații libere, iar piesele din care este compusă nu se suprapun. Nu există două piese cu aceeași valoare.
Deși inițial părea că acest design este unul inedit, nu a durat mult până când Dorel s-a plictisit. Astfel, acum el dorește să "upgradeze" matricea construită. Dorel alege o submatrice delimitată de coordonatele - colțul stânga-sus, - colțul dreapta-jos (, ), unde crește toate valorile elementelor submatricei cu valoarea .
Dorel efectuează în ordine operații de upgrade, operații numerotate de la la . La finalizarea celor operații de upgrade, toate elementele din matrice au valoarea mai mare sau egală cu . După o operație de upgrade, structura inițială a matricei se modifică.
Cerințe
Cum priceperea lui Dorel este proverbială, trebuie să îl ajutați în rezolvarea următoarelor cerințe:
- determinarea coordonatelor piesei cu număr maxim de elemente înainte ca Dorel să efectueze operațiile de upgrade;
- determinarea numărului minim de operații de upgrade după care toate elementele matricei au valoarea mai mare sau egală cu .
Date de intrare
Datele de intrare se citesc din fișierul amat.in
, care are următoarea structură:
- pe prima linie se află numărul natural , care poate fi egal cu sau , în funcție de cerința ce trebuie rezolvată;
- pe linia următoare se află două numerele naturale și cu semnificația din enunț;
- pe următoarele linii se găsesc elementele matricei .
- dacă atunci fișierul de intrare mai conține:
- pe linia numerele naturale și cu semnificațiile din enunț;
- pe următoarele linii descrierea submatricelor asupra cărora se efectuează operații de upgrade de forma: .
Date de ieșire
Datele de ieșire se vor scrie în fișierul amat.out
, astfel:
Dacă se vor scrie, separate prin spațiu patru numere naturale nenule ce reprezintă coordonatele colțului stânga-sus, respectiv colțului dreapta-jos unde este plasată piesa cu număr maxim de elemente înainte de upgrade. Dacă există mai multe astfel de piese, atunci vor fi scrise coordonatele piesei pentru care coordonatele colțului stânga-sus are valoarea liniei cea mai mare, iar la linii egale, se va alege piesa cu coordonata coloanei cea mai mare.
Dacă se va scrie numărul natural nenul ce reprezintă numărului minim de operații de upgrade după care toate elementele matricei au valoarea mai mare sau egală cu .
Restricții și precizări
- ; ; ;
- elementele matricei înainte de upgrade ;
- Operațiile de upgrade se efectuează obligatoriu în ordinea citirii;
- Pentru teste în valoare de de puncte, ;
- Pentru teste în valoare de de puncte, și ;
- Pentru teste în valoare de de puncte, şi ;
- Pentru teste în valoare de de puncte, .
Exemplul 1
amat.in
1
4 6
1 1 1 3 2 2
1 1 1 3 2 2
6 4 4 4 2 2
6 4 4 4 5 7
amat.out
3 2 4 4
Explicație
Se rezolvă cerința . Matricea inițială construită de Dorel este:
Există piese cu număr maxim de valori egale, dar piesa care corespunde cerințelor are coordonatele: .
Exemplul 2
amat.in
2
4 6
1 1 1 3 2 2
1 1 1 3 2 2
6 4 4 4 2 2
6 4 4 4 5 7
3 6
1 1 3 3 5
1 2 4 6 5
4 1 4 3 1
amat.out
2
Explicație
Se rezolvă cerința . Matricea inițială construită este cea prezentată mai sus. Dorel efectuează operații de upgrade.
Matricea obținută după efectuarea primului upgrade:
Matricea obținută după efectuarea celui de-al doilea upgrade:
Matricea obținută după efectuarea celui de-al treilea upgrade:
La final tuturor operațiilor de upgrade, matricea are toate valorile mai mari sau egale cu . Se observă că sunt suficiente primele două operații de upgrade pentru ca toate elementele matricei să fie mai mari sau egale cu .