Serpuit

Time limit: 0.7s Memory limit: 256MB Input: Output:

Gușterul, Girafa și Țestoasa vor să se plimbe cu mașina prin cartierul lor! Cartierul poate fi privit ca o matrice pătratică de latură NN. Pentru ca fiecare drum să fie o aventură memorabilă, drumurile vor urma o parcurgere șerpuită.

O parcurgere șerpuită vizitează elementele matricei pe diagonale paralele cu diagonala secundară. Începând dintr-o celulă de start, se parcurg toate elementele de pe diagonala curentă, apoi se trece la diagonala următoare. Pentru a menține continuitatea, direcția se inversează la fiecare pas: o diagonală este parcursă în sensul spre (N,1)(N, 1), iar următoarea în sens opus, procesul repetându-se până la final.

Pentru claritate, ilustrăm mai jos două parcurgeri șerpuite într-o matrice pătratică de latură 44, prima, care reprezintă parcurgerea șerpuită începând cu celula (1,1)(1, 1), iar, a doua, care reprezintă parcurgerea șerpuită începând cu celula (2,3)(2, 3):

Cerință

Gușterul, Girafa și Țestoasa vor efectua TT drumuri, despre care se știu:

  • x y k valx \ y \ k \ \text{val} - se va efectua o parcurgere șerpuita, începând cu celula (x,y)(x, y), care cuprinde primele kk celule parcurse din parcurgerea curentă, cu o mașina căreia îi ia val\text{val} secunde să se deplaseze dintr-o celulă în alta.

Dupa efectuarea tuturor parcurgerilor, cei 3 prieteni vin cu QQ întrebări de forma: câte secunde am stat in celula (a,b)(a, b)?

Date de intrare

Pe prima linie se vor afla NN (dimensiunea matricei), TT (numărul de drumuri efectuate) și QQ (numărul de intrebari).

Pe următoarele TT linii se vor afla câte 44 numere x,y,kx, y, k și val\text{val}, care descriu un drum.

Pe următoarele QQ linii se vor afla câte două numere aa și bb, care reprezintă o celulă despre care cei trei prieteni vor să afle cât timp au petrecut în zona respectivă.

Date de ieșire

Se vor afișa QQ linii, unde pe linia i (1iQ)i \ (1 \leq i \leq Q) se va afla răspunsul la a ii-a întrebare.

Restricții și precizări

  • 1N1 000 0001 \leq N \leq 1 \ 000 \ 000
  • 1T,Q200 0001 \leq T, Q \leq 200 \ 000
  • Pentru toate drumurile, 1x,yN1 \leq x, y \leq N si 1val1091 \leq \text{val} \leq 10^9;
  • Pentru toate drumurile, 1k1 \leq k \leq numărul maxim de celule care pot fi parcurse începând cu celula (x,y)(x, y);
  • Pentru toate întrebările, 1a,bN1 \leq a, b \leq N.
# Punctaj Restricții
1 3 N=1N = 1
2 7 N=2N = 2
3 4 1N2 0001 \leq N \leq 2 \ 000, iar, pentru toate drumurile, K=1K=1
4 6 Pentru toate drumurile, K=1K=1
5 12 1N2 0001 \leq N \leq 2 \ 000, iar, pentru toate drumurile, K=2K=2
6 18 1N,T5001 \leq N, T \leq 500
7 12 1N,T2 0001 \leq N, T \leq 2 \ 000
8 18 1N2 0001 \leq N \leq 2 \ 000
9 20 Fără restricții suplimentare.

Exemplu

stdin

4 2 3
1 1 12 10
2 3 7 8
2 1
4 4
3 3

stdout

10
0
18

Explicație

După toate operațiile, matricea va arăta astfel:

10 10 10 10
10 10 18 18
10 18 18 8
18 8 0 0

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