#4785
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 | #57499568 | Utilizator | |
Fișier | summat.cpp | Dimensiune | 937 B |
Data încărcării | 02 Aprilie 2025, 14:20 | Scor / rezultat | Eroare de compilare |
summat.cpp:6:33: error: size of array 'v' is too large int n,m,q,v[100000005][100000005],nou[100000005][100000005]; ^ summat.cpp:6:59: error: size of array 'nou' is too large int n,m,q,v[100000005][100000005],nou[100000005][100000005]; ^ summat.cpp: In function 'void sume_partiale()': summat.cpp:12:31: error: 'nou' was not declared in this scope if (i==0 || j==0) nou[i][j]=0; ^ summat.cpp:13:18: error: 'nou' was not declared in this scope else nou[i][j]=nou[i-1][j]+nou[i][j-1]-nou[i-1][j-1]+v[i][j]; ^ summat.cpp:13:66: error: 'v' was not declared in this scope else nou[i][j]=nou[i-1][j]+nou[i][j-1]-nou[i-1][j-1]+v[i][j]; ^ summat.cpp: In function 'void read()': summat.cpp:27:13: error: 'v' was not declared in this scope v[i][j]=mat_val; ^ summat.cpp: In function 'int main()': summat.cpp:40:14: error: 'nou' was not declared in this scope out<<nou[x2][y2]-nou[x1-1][y2]-nou[x2][y1-1]+nou[x1-1][y1-1]<<'\n'; ^
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ă.