Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2008-02-26 21:31:45.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:arbint.in, arbint.outSursăad-hoc
AutorArhiva EducationalaAdăugată decos_minBondane Cosmin cos_min
Timp execuţie pe test0.25 secLimită de memorie36480 kbytes
Scorul tăuN/ADificultateN/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 M 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

  • 1M, Q100000
  • 0 ≤ elementele vectorului A109
  • Pentru operatia de tip 0: 1abN
  • Pentru operatia de tip 1: 1aN si 1b109

Exemplu

arbint.inarbint.out
5 5
4 3 5 6 1
0 1 3
1 3 2
0 2 3
1 4 2
0 1 5
5
3
4

Indicatii pentru rezolvare

O rezolvare brute ar obtine in jur de 30-40 puncte si o poti gasi aici. Solutia optima pentru rezolvarea 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.

Probleme similare

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?