Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | arbint.in, arbint.out | Sursă | ad-hoc |
Autor | Arhiva Educationala | Adăugată de | |
Timp execuţie pe test | 0.25 sec | Limită de memorie | 36480 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Arbori de intervale
Fie un vector A cu N elemente naturale. Asupra lui se vor face M operatii de forma x, b, c, codificate astfel in fisierul de intrare:
• 0 a b - Sa se determine maximul din intervalul [a,b].
• 1 a b - Valoarea elementului de pe pozita a va deveni b.
Date de intrare
Pe prima linie a fisierului de intrare se afla N si M. Pe urmatoarea linie se gasesc cele N elemente ale vectorului, iar urmatoarele linii descriu operatia care trebuie efectuata.
Date de iesire
Pentru fiecare operatie de tip 0, se va afisa pe cate o linie maximul pentru intervalul cerut(in ordinea ceruta in fisierul de intrare).
Restrictii
- 1 ≤ M, Q ≤ 100000
- 1 ≤ elementele vectorului A ≤ 109
Exemplu
arbint.in | arbint.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Indicatii pentru rezolvare
O rezolvare brute ar obtine in jur de 30-40 puncte. O rezolvare optima a problemei are complexitatea O(MlogN) si se poate realiza prin intermediul arborilor de intervale. O solutie de 100 puncte pe ideea prezentata in articol gasesti aici.