#1591
Intervalxy
Se dă un şir de N
numere întregi. Definim costul intervalului [x, y]
, unde x
si y
apartin {1, 2, …, N}
, ca fiind suma diferenţelor dintre numărul maxim din șir, aflat în interval şi restul numerelor aflate pe pozițiile x, x+1, …, y
.
De exemplu, pentru şirul 2 4 7 4 3 -1 2 4 6
costul intervalului [3, 6]
este 15
. (explicație: 7-7+ 7-4 + 7-3 + 7+1
= 15
).
Se definesc M
operaţii de forma tip x y
, astfel: Dacă tip este 1
, atunci elementul de pe poziţia x
din șir devine y
. Dacă tip este 2
, atunci să se afişeze costul intervalului [x, y]
.
Să se determine răspunsul pentru fiecare operaţie de tipul 2
.
Info-Oltenia 2015
Problema | Intervalxy | Operații I/O |
intervalxy.in /intervalxy.out
|
---|---|---|---|
Limita timp | 0.2 secunde | Limita memorie |
Total: 32 MB
/
Stivă 2 MB
|
Id soluție | #51855468 | Utilizator | |
Fișier | intervalxy.cpp | Dimensiune | 1.69 KB |
Data încărcării | 30 August 2024, 09:37 | Scor / rezultat | Eroare de compilare |
intervalxy.cpp: In function 'Node query(int, int, int, int, int)': intervalxy.cpp:56:21: error: could not convert '{0, -2147483648}' from '<brace-enclosed initializer list>' to 'Node' return {0, INT_MIN}; ^ intervalxy.cpp:62:48: error: could not convert '{(q1.Node::sum + q2.Node::sum), std::max<int>((*(const int*)(& q1.Node::vMax)), (*(const int*)(& q2.Node::vMax)))}' from '<brace-enclosed initializer list>' to 'Node' return {q1.sum + q2.sum, max(q1.vMax, q2.vMax)}; ^ intervalxy.cpp:63:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Intervalxy 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ă.