Dacă ești doar curios, vei vedea un puzzle. Dacă ești disperat, vei vedea un labirint. Dar dacă ai răbdare, îi vei descoperi magia.
– Ernő Rubik
Pentru a descoperi ieșirea din Marele Labirint, exploratorul trebuie să descifreze o hartă antică. Harta este reprezentată sub forma unui tablou bidimensional cu linii și coloane, cu elemente numere naturale nenule. Liniile sunt numerotate de la la (de sus în jos), iar coloanele de la la (de la stânga la dreapta).
Definim un mapat ca fiind un pătrat descris de o poziție numită colț principal și o latură de lungime , unde . Mapatul acoperă toate celulele având indicii , unde și , adică este un pătrat de celule al cărui colț dreapta-jos este chiar .
Valoarea unui mapat se calculează astfel:
- Se determină suma tuturor elementelor din pătrat, notată cu .
- Valoarea mapatului este produsul dintre și valoarea de la poziția .
De exemplu, considerând tabloul de mai jos:

un mapat cu colțul principal la poziția și acoperă celulele de la pozițiile . Deci, și valoarea mapatului este .
Fixând o lungime și o linie (cu ), pentru fiecare coloană , notăm cu valoarea mapatului cu colțul principal la coordonatele și latura de lungime . O secvență de mapate situate pe linia este determinată de doi indici, și . Definim suma secvenței de mapate ca fiind , cu .
Cerințe
Se dau întrebări de tipul 1 și întrebări de tipul 2.
- Întrebare de tipul 1. Cunoscându-se trei valori , și , determinați lungimea maximă a unei secvențe de mapate cu latura de lungime , situate pe linia și având suma secvenței de mapate mai mică sau egală cu .
- Întrebare de tipul 2. Cunoscându-se patru valori , , și , determinați numărul secvențelor de mapate cu latura de lungime , situate pe linia și având suma secvenței de mapate cuprinsă între și .
Date de intrare
Fișierul de intrare mapat.in conține:
- Pe prima linie patru numere naturale .
- Pe următoarele linii câte numere naturale, reprezentând elementele tabloului bidimensional.
- Următoarele linii conțin fiecare câte trei numere: , , (corespunzătoare întrebărilor de tipul 1).
- Ultimele linii conțin fiecare câte patru numere: , , , (corespunzătoare întrebărilor de tipul 2).
Valorile de pe fiecare linie sunt separate prin câte un spațiu.
Date de ieșire
Fișierul de ieșire mapat.out va conține:
- Pe primele linii câte un număr natural reprezentând răspunsul la fiecare întrebare de tipul 1, în ordinea în care acestea apar în fișierul de intrare.
- Pe următoarele linii câte un număr natural reprezentând răspunsul la fiecare întrebare de tipul 2, în ordinea în care acestea apar în fișierul de intrare.
Restricții și precizări
- ;
- Elementele tabloului sunt numere naturale nenule .
- ;
- , iar pentru orice întrebare.
- ;
- pentru orice întrebare de tipul 2.
- pentru orice întrebare de tipul 1.
| # | Punctaj | Restricții |
|---|---|---|
| 1 | 17 | , (există doar întrebări de tipul 1) |
| 2 | 13 | , (există doar întrebări de tipul 1) |
| 3 | 17 | , (există doar întrebări de tipul 2) |
| 4 | 14 | , (există doar întrebări de tipul 2) |
| 5 | 39 | Fără restricții suplimentare |
Exemplul 1
mapat.in
4 4 2 0
1 3 5 2
4 3 1 2
7 8 1 1
2 2 3 1
2 4 20
1 4 16
mapat.out
1
3
Explicație
Avem întrebări de tipul 1:
Întrebarea 1: , , . Calculăm pentru pe linia 4:
, și . Singura secvență cu suma mai mică sau egală ca 20 este secvența , deci răspunsul este 1.
Întrebarea 2: , , .
.
Lungimea maximă a unei secvențe de mapate este 3, găsită pentru secvența , deci răspunsul este 3.
Exemplul 2
mapat.in
4 4 0 2
1 3 5 2
4 3 1 2
7 8 1 1
2 2 3 1
2 2 5 30
1 4 7 16
mapat.out
2
5
Explicație
Avem întrebări de tipul 2:
Întrebarea 1: , , , . Avem , , . Secvențele de mapate cu suma cuprinsă între și sunt cele care au capetele la pozițiile și , deci răspunsul este 2.
Întrebarea 2: , , , .
. Secvențele de mapate cu suma cuprinsă între și sunt cele care au capetele la pozițiile: și , deci răspunsul este 5.