Se dă un șir de matrice pătratice asupra căruia se pot face două tipuri de operații: actualizare a unui element (se înlocuiește matricea de pe acea poziție cu alta) și interogarea unui interval de indici (determinarea produsului matricelor memorate între cei doi indici, inclusiv).
| Problema | Actualizare Element, Produs Interval, Matrice | Operații I/O |
aepim.in/aepim.out
|
|---|---|---|---|
| Limita timp | 0.5 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #59547106 | Utilizator | |
| Fișier | actualizare_element,_produs_interval,_matrice.cpp | Dimensiune | 5.17 KB |
| Data încărcării | 02 Octombrie 2025, 15:06 | Scor/rezultat | Eroare de compilare |
actualizare_element,_produs_interval,_matrice.cpp: In member function 'void aint::build(int, int, int)': actualizare_element,_produs_interval,_matrice.cpp:115:54: error: invalid initialization of reference of type 'const std::array<int, 9u>&' from expression of type '__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}' tr[nod] = prod(tr[nod << 1], tr[nod << 1 | 1]); ^ actualizare_element,_produs_interval,_matrice.cpp:54:29: error: in passing argument 1 of 'std::array<int, 9u> prod(const std::array<int, 9u>&, const std::array<int, 9u>&)' static inline array<int, 9> prod(const array<int, 9>& a, const array<int, 9>& b) { ^ actualizare_element,_produs_interval,_matrice.cpp: In member function 'void aint::upd(int, int, int, int, const std::vector<int>&)': actualizare_element,_produs_interval,_matrice.cpp:132:54: error: invalid initialization of reference of type 'const std::array<int, 9u>&' from expression of type '__gnu_cxx::__alloc_traits<std::allocator<std::vector<int> > >::value_type {aka std::vector<int>}' tr[nod] = prod(tr[nod << 1], tr[nod << 1 | 1]); ^ actualizare_element,_produs_interval,_matrice.cpp:54:29: error: in passing argument 1 of 'std::array<int, 9u> prod(const std::array<int, 9u>&, const std::array<int, 9u>&)' static inline array<int, 9> prod(const array<int, 9>& a, const array<int, 9>& b) { ^ actualizare_element,_produs_interval,_matrice.cpp: In member function 'void aint::qry(int, int, int, int, int, std::vector<int>&)': actualizare_element,_produs_interval,_matrice.cpp:137:36: error: invalid initialization of reference of type 'const std::array<int, 9u>&' from expression of type 'std::vector<int>' sol = prod(sol, tr[nod]); ^ actualizare_element,_produs_interval,_matrice.cpp:54:29: error: in passing argument 1 of 'std::array<int, 9u> prod(const std::array<int, 9u>&, const std::array<int, 9u>&)' static inline array<int, 9> prod(const array<int, 9>& a, const array<int, 9>& b) { ^ actualizare_element,_produs_interval,_matrice.cpp: In function 'int main()': actualizare_element,_produs_interval,_matrice.cpp:155:36: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("aepim.in", "r", stdin); ^ actualizare_element,_produs_interval,_matrice.cpp:156:38: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result] freopen("aepim.out", "w", stdout); ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Actualizare Element, Produs Interval, Matrice 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ă.