gradina

Time limit: 0.06s Memory limit: 32MB Input: gradina.in Output: gradina.out

Bunicul are o grădină mare, împărțită în LL rânduri și CC coloane egale. În această grădină, el a plantat MM flori din specii rare, fiecare floare ocupând o singură celulă a grădinii. Restul spațiilor din grădină sunt ocupate de gazon.

Pentru că se apropie o sărbătoare, bunicul vrea să replanteze florile astfel încât ele să formeze o zonă dreptunghiulară compactă (un dreptunghi plin, fără spații libere între flori). Acest dreptunghi poate fi plasat oriunde în grădină și poate avea orice dimensiuni hh (rânduri) și ww (coloane), cu singura condiție ca numărul total de celule ocupate să fie egal cu numărul de flori, adică hw=Mh \cdot w = M. Deoarece bunicul depune efort la fiecare floare mutată, el vrea să știe care este numărul minim de flori pe care trebuie să le scoată din poziția lor actuală și să le replanteze în alt loc pentru a obține forma dorită.

Cerință

Cunoscând dimensiunile grădinii LL și CC, numărul de flori MM și coordonatele (rând, coloană) unde se află fiecare floare în prezent, scrieți un program care determină:

  1. Pentru V=1V=1, numărul rândului sau rândurilor care conțin cele mai multe flori în acest moment.
  2. Pentru V=2V=2, numărul minim de flori ce trebuie mutate pentru ca toate cele MM flori să fie grupate într-o zonă dreptunghiulară compactă.

Date de intrare

Fișierul de intrare gradina.in conține:

  • Pe prima linie numărul natural VV (valoarea 11 sau 22, reprezentând cerința).
  • Pe a doua linie numerele naturale LL și CC, reprezentând numărul de rânduri și de coloane.
  • Pe a treia linie numărul natural MM, reprezentând numărul de flori.
  • Pe următoarele MM linii, câte o pereche de valori xix_i și yiy_i, 1iM1 \leq i \leq M, reprezentând linia și coloana unde se află inițial fiecare floare. Valorile sunt separate prin câte un spațiu.

Date de ieșire

Fișierul de ieșire gradina.out conține:

  • Dacă V=1V = 1, se vor afișa în ordine crescătoare indicii rândurilor care conțin numărul maxim de flori.
  • Dacă V=2V = 2, se va afișa numărul minim de flori pe care bunicul trebuie să le replanteze. Dacă acestea nu pot fi așezate într-un dreptunghi compact, se va afișa valoarea 1-1.

Restricții și precizări

  • 1L,C5001 \leq L, C \leq 500;
  • 1MLC1 \leq M \leq L \cdot C;
  • 1xiL1 \leq x_i \leq L, 1yiC1 \leq y_i \leq C;
  • Pentru cerința 22, se iau în considerare toate perechile de numere naturale (h,w)(h, w) astfel încât hw=Mh \cdot w = M, hLh \leq L și wCw \leq C;

Exemplul 1

gradina.in

1
4 5
8
1 2
1 5
2 1
3 2
3 5
4 3
4 4
4 5

gradina.out

4

Explicație

V=1V = 1, deci se rezolvă doar cerința 11. Pe linia 11 se află 22 flori. Pe linia 2 se află 1 floare. Pe linia 33 sunt 22 flori. Pe linia 44 sunt 33 flori. Așadar, există o singură linie pe care sunt un număr maxim de flori: linia 44.

Exemplul 2

gradina.in

2
4 5
8
1 2
1 5
2 1
3 2
3 5
4 3
4 4
4 5

gradina.out

3

Explicație

V=2V = 2, deci se rezolvă doar cerința 22. Pentru a obține o zonă compactă de formă dreptunghiulară trebuie mutate minimum 33 flori. O variantă posibilă este: floarea de la poziția (1,2)(1,2) se mută la poziția (3,3)(3,3), floarea de la poziția (1,5)(1,5) se mută la poziția (3,4)(3,4) și floarea de la poziția (2,1)(2,1) se mută la poziția (4,2)(4,2). Se obține o zonă compactă de formă dreptunghiulară, având colțul din stânga sus la poziția (3,2)(3,2) și colțul din dreapta jos la poziția (4,5)(4,5).

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