Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | rombulum.in, rombulum.out | Sursă | ONIS 2014, Runda Finala |
Autor | Paul Diac | Adăugată de | |
Timp execuţie pe test | 0.5 sec | Limită de memorie | 20480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Rombulum
Fie o matrice cu N linii si N coloane cu numere intregi cu toate valorile initiale elgale cu 0. Pe aceasta matrice se relizeaza o serie de Q update-uri definite prin x, y, lat, val; cu seminificatia: Elementele care se afla in interiorul patratului cu colturile (x - lat, y), (x, y + lat), (x + lat, y), (x, y - lat) se modifica adaugand valoarea val.
De exemplu pornind de la matricea initiala 7 × 7 cu toate elementele 0, printr-un update (4, 5, 2, 7) ajungem la matricea:
\|1234567
-+-------
1|0000000
2|0000100
3|0001110
4|0011111
5|0001110
6|0000100
7|0000000
Pentru a rezolva problema trebuie sa determinati cele mai frecvente valori din matrice dupa o ce se realizeaza o serie de update-uri de tipul descris.
Date de intrare
Fişierul de intrare rombulum.in contine pe prima linie numarul de teste T.
Fiecare test este descris pe prima linie prin doua numere N si Q, numarul de linii si coloane ale matricii si numarul de update-uri. Fiecare din urmatoarele Q linii contin 4 numere x y lat val care descriu update-ul.
Date de ieşire
În fişierul de ieşire rombulum.out trebuie sa afisati pentru fiecare test doua din cele mai frecvente valori care se afla in matrice la final. Mai exact trebuie sa afisati 4 numere v1 f1 v2 f2 cu seminificatia:
v1 = cea mai frecventa valoarea
f1 = numarul de aparitii ale lui v1
v2 = a doua cea mai frecventa valoarea
f2 = numarul de aparatii ale lui 2
Restricţii
- T ≤ 16
- 1 ≤ N ≤ 250
- 1 ≤ Q ≤ 50000
- val ≤ 1000 pentru orice update
- orice update contine toate elementele in interiorul matricii : x - lat, x + lat, y - lat, y + lat for apartie [1, N].
Exemplu
rombulum.in | rombulum.out |
---|---|
2 8 2 4 4 3 2 6 6 2 3 10 7 8 2 1 616 2 6 1 796 3 3 2 397 3 6 1 622 5 4 2 774 5 2 1 502 7 8 1 92 | 5 5 3 8 1673 1 1418 2 |
Explicaţie
Pentru primul test matricea care se formeaza este urmatoarea: