#4667
eras
Stadionul pe care Taylor Swift concertează în cadrul Turului Eras poate fi reprezentat cu ajutorul unei matrice cu N
linii și M
coloane, numerotate începând de la 1
. În fiecare celulă (i, j)
, de pe linia i
și coloana j
(1 ≤ i ≤ N
și 1 ≤ j ≤ M
), se află câte un scaun pe care pot fi așezate brățări ale prieteniei. Înainte de concert, pe fiecare dintre dintre cele N x M
scaune, nu se află nicio brățară. Pe durata concertului, Steven efectuează, în ordine, U
modificări, care pot fi de două tipuri:
(L, a, v)
cu semnificația că pe fiecare dintre cele M
scaune de pe linia a
sunt așezate câte v
brățări noi (1 ≤ a ≤ N
);(C, a, v)
cu semnificația că pe fiecare dintre cele N
scaune de pe coloana a
sunt așezate câte v
brățări noi (1 ≤ a ≤ M
).După ce toate modificările au fost efectuate, Caroline îi pune lui Steven, în ordine, Q
întrebări. Pentru fiecare întrebare, se consideră un număr natural K
și descrierile a K
submatrice. Steven trebuie să determine câte brățări sunt, în total, pe scaunele ce se află în cel puțin una dintre cele K
submatrice considerate. Ajutați-l pe Steven să răspundă corect la toate cele Q
întrebări puse de Caroline!
ONI 2024, clasa a 9-a
Problema | eras | Operații I/O |
![]() eras.in /eras.out
|
---|---|---|---|
Limita timp | 1.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #57218223 | Utilizator | |
Fișier | eras.cpp | Dimensiune | 3.03 KB |
Data încărcării | 20 Martie 2025, 14:07 | Scor / rezultat | Eroare de compilare |
eras.cpp: In function 'int main()': eras.cpp:46:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < lins.size(); ++i) pref_lin[i] = (i == 0 ? 0 : pref_lin[i - 1]) + lins[i].S; ^ eras.cpp:47:35: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i < cols.size(); ++i) pref_col[i] = (i == 0 ? 0 : pref_col[i - 1]) + cols[i].S; ^ eras.cpp:79:44: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i = 0; i + 1 < sweep.size(); ++i) { ^ eras.cpp:87:23: error: expected unqualified-id before '[' token for (auto [x, y] : r) sz += y - x + 1; ^ eras.cpp:87:23: error: expected ';' before '[' token eras.cpp:87:24: error: 'x' was not declared in this scope for (auto [x, y] : r) sz += y - x + 1; ^ eras.cpp:87:27: error: 'y' was not declared in this scope for (auto [x, y] : r) sz += y - x + 1; ^ eras.cpp: In lambda function: eras.cpp:87:30: error: expected '{' before ':' token for (auto [x, y] : r) sz += y - x + 1; ^ eras.cpp: In function 'int main()': eras.cpp:87:30: error: expected ';' before ':' token eras.cpp:87:30: error: expected primary-expression before ':' token eras.cpp:87:30: error: expected ')' before ':' token eras.cpp:87:30: error: expected primary-expression before ':' token eras.cpp:87:30: error: expected ';' before ':' token eras.cpp:88:23: error: expected unqualified-id before '[' token for (auto [x, y] : r) sum += getsum_lins(x, y); ^ eras.cpp:88:23: error: expected ';' before '[' token eras.cpp:88:24: error: 'x' was not declared in this scope for (auto [x, y] : r) sum += getsum_lins(x, y); ^ eras.cpp:88:27: error: 'y' was not declared in this scope for (auto [x, y] : r) sum += getsum_lins(x, y); ^ eras.cpp: In lambda function: eras.cpp:88:30: error: expected '{' before ':' token for (auto [x, y] : r) sum += getsum_lins(x, y); ^ eras.cpp: In function 'int main()': eras.cpp:88:30: error: expected ';' before ':' token eras.cpp:88:30: error: expected primary-expression before ':' token eras.cpp:88:30: error: expected ')' before ':' token eras.cpp:88:30: error: expected primary-expression before ':' token eras.cpp:88:30: error: expected ';' before ':' token eras.cpp:32:35: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("eras.in", "r", stdin); ^ eras.cpp:33:37: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("eras.out", "w", stdout); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema eras 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ă.