Oximoron

Time limit: 0.5s Memory limit: 16MB Input: oximoron.in Output: oximoron.out

"Iași e mega tuff" - LucaLucaM, ianuarie 2025.

Cerință

Se dă o matrice AA cu NN linii și MM coloane, formată din valori distincte de la 1 la NMN \cdot M. Considerăm o matrice BB, tot de NN linii și MM coloane, inițial având toate elementele egale cu 00. Se dau QQ operații de forma: div,x1,y1,x2,y2div, x_1, y_1, x_2, y_2.
Pentru fiecare astfel de operație, se va adăuga 11 în matricea BB la toate valorile de pe pozițiile aflate pe linia ii cu x1ix2x_1 \le i \le x_2 și coloana jj cu y1jy2y_1 \le j \le y_2 pentru care valoarea Ai,jA_{i,j} (adică valoarea aflată pe linia ii și coloana jj în AA) este divizibilă cu divdiv. Cu alte cuvinte, pentru fiecare operație se va adăuga 11 în matricea BB la toate pozițiile conținute în dreptunghiul cu colțul stânga sus x1,y1x_1, y_1 și colțul dreapta jos x2,y2x_2, y_2 care conțin în matricea AA o valoare divizibilă cu divdiv. De asemenea, valorile divdiv sunt distincte, adică nu există două operații diferite care să aibă valoare divdiv.

Date de intrare

Pe prima linie a fișierului de intrare oximoron.in se găsesc două numere întregi, NN și MM.
Pe următoarele NN linii se vor găsi câte MM numere naturale, reprezentând elementele matricii.
Pe următoarea linie se va găsi un numar natural QQ.
Pe următoarele QQ linii, se vor găsi câte 5 numere naturale divdiv, x1x_1, y1y_1, x2x_2, y2y_2, ce descriu operațiile explicate mai sus.

Date de ieșire

În fișierul de ieșire oximoron.out se vor găsi NN linii a câte MM numere naturale, reprezentând matricea BB formată în urma aplicării operațiilor.

Restricții și precizări

  • 1NM200 0001 \leq N \cdot M \leq 200 \ 000;
  • 1QNM1 \leq Q \leq N \cdot M
  • 1x1,x2N1 \leq x_1, x_2 \leq N
  • 1y1,y2M1 \leq y_1, y_2 \leq M
  • 1divNM1 \leq div \leq N \cdot M
  • Nu va apărea aceeași valoare divdiv în descrierea a oricăror două operații diferite.
# Punctaj Restricții
0 0 Exemplu
1 20 NM1000,Q1000N \cdot M \le 1000, Q \le 1000
2 50 N400,M400N \le 400, M \le 400
3 30 Fără restricții suplimentare

Exemplul

oximoron.in

4 5
17 3 5 4 2
15 19 18 1 11
9 6 13 8 10
20 16 12 14 7
3
5 1 1 3 3
3 1 3 4 3
2 2 2 4 4

oximoron.out

0 0 1 0 0
1 0 2 0 0
0 1 0 1 0
0 1 2 1 0

Explicație

Pentru prima operație, elementele incluse în submatricea cu colțul stânga sus în 1,11, 1 și dreapta jos în 3,33, 3 și care sunt divizibile cu 55 sunt 5, 15.
Pentru a doua operație, elementele incluse în submatricea cu colțul stânga sus în 1,31, 3 și dreapta jos în 4,34, 3 și care sunt divizibile cu 33 sunt 18, 12.
Pentru a treia operație, elementele incluse în submatricea cu colțul stânga sus în 2,22, 2 și dreapta jos în 4,44, 4 și care sunt divizibile cu 22 sunt 18, 6, 8, 16, 12, 14.
Astfel, adunăm 11 la pozițiile unde se afla în matricea AA elemntele 5, 15, 6, 8, 16, 14 și 22 la pozițiile unde se află în matricea AA elementele 18, 12.

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