#1591
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 | #64524144 | Utilizator | |
| Fișier | intervalxy.cpp | Dimensiune | 1.82 KB |
| Data încărcării | 12 Mai 2026, 13:25 | Scor/rezultat | Eroare de compilare |
intervalxy.cpp: In function ‘ura query(int, int, int, int, int)’: intervalxy.cpp:51:16: error: narrowing conversion of ‘-1.0e+6’ from ‘double’ to ‘ll’ {aka ‘long long int’} [-Wnarrowing] 51 | nr1= nr2= {-1e6, 0}; | ^~~~ intervalxy.cpp: In function ‘int main()’: intervalxy.cpp:61:18: warning: unused variable ‘j’ [-Wunused-variable] 61 | int n, q, i, j; | ^
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ă.