#4785
summat
Se consideră şirul crescător 1, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, ...
, în care fiecare număr natural nenul i
apare de 2
i-1
ori. Elementele unei matrice A
cu M
linii şi N
coloane au valori astfel încât, parcurgând matricea de sus în jos, pe linii, și de la stânga la dreapta pe fiecare linie, se obțin primii M x N
termeni ai șirului precizat. O submatrice a lui A
este definită de patru valori, l1, c1, l2, c2
şi este formată din elementele A
i,j
cu proprietatea că l1 ≤ i ≤ l2
și c1 ≤ j ≤ c2
. Determinaţi suma elementelor pentru fiecare dintre Q
submatrice date ale lui A
.
OJI 2025, clasa a 9-a
Problema | summat | Operații I/O |
![]() summat.in /summat.out
|
---|---|---|---|
Limita timp | 0.9 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #58378310 | Utilizator | |
Fișier | summat.cpp | Dimensiune | 597 B |
Data încărcării | 30 Mai 2025, 11:17 | Scor / rezultat | Eroare de compilare |
summat.cpp:1:1: error: 'ifstream' does not name a type ifstream fin ("summat.in"); ^ summat.cpp:2:1: error: 'ofstream' does not name a type ofstream fout ("summat.out"); ^ summat.cpp:3:25: error: size of array 'mat' is too large int mat[1000000][1000000]; ^ summat.cpp:4:25: error: size of array 'sum' is too large int sum[1000000][1000000]; ^ summat.cpp: In function 'int main()': summat.cpp:8:2: error: 'fin' was not declared in this scope fin>>m>>n>>q; ^ summat.cpp:12:19: error: 'pow' was not declared in this scope if(k==pow(2,p-1)) k=0, p++; ^ summat.cpp:13:4: error: 'mat' was not declared in this scope mat[i][j]=p; ^ summat.cpp:18:3: error: 'sum' was not declared in this scope sum[i][j]=mat[i][j]+sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]; ^ summat.cpp:18:13: error: 'mat' was not declared in this scope sum[i][j]=mat[i][j]+sum[i-1][j]+sum[i][j-1]-sum[i-1][j-1]; ^ summat.cpp:22:11: error: 'sum' was not declared in this scope S=sum[l2][c2]-sum[l1-1][c2]-sum[l2][c1-1]+sum[l1-1][c1-1]; ^ summat.cpp:23:9: error: 'fout' was not declared in this scope fout<<S<<" "; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema summat face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.