#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 2i-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 Ai,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 | #63364931 | Utilizator | |
| Fișier | summat.cpp | Dimensiune | 1.08 KB |
| Data încărcării | 28 Februarie 2026, 00:33 | Scor/rezultat | Eroare de compilare |
summat.cpp: In function 'long long int F(long long int)': summat.cpp:27:5: error: expected primary-expression before '__int128' __int128 sum_before = 0; ^ summat.cpp:27:5: error: expected ';' before '__int128' summat.cpp:30:9: error: 'sum_before' was not declared in this scope sum_before = (__int128)(k - 2) * (1LL << (k - 1)) + 2; ^ summat.cpp:30:23: error: expected primary-expression before '__int128' sum_before = (__int128)(k - 2) * (1LL << (k - 1)) + 2; ^ summat.cpp:30:23: error: expected ')' before '__int128' summat.cpp:32:24: error: 'sum_before' was not declared in this scope return (long long)(sum_before + (__int128)rem * k); ^ summat.cpp:32:38: error: expected primary-expression before '__int128' return (long long)(sum_before + (__int128)rem * k); ^ summat.cpp:32:38: error: expected ')' before '__int128' summat.cpp:32:55: error: expected ')' before ';' token return (long long)(sum_before + (__int128)rem * k); ^ summat.cpp:25:15: warning: unused variable 'rem' [-Wunused-variable] long long rem = x - elements_before; ^ summat.cpp:33:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
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ă.