Editorial for DodPomOduPod
Submitting an official solution before solving the problem yourself is a bannable offence.
Author:
Primetimo da kada sortiramo niz, nijedan upit neće promeniti redosled elemenata, već samo vrednosti nekima od njih.
To znači da binarnom pretragom možemo naći najmanji indeks takav da nakon što izvršimo sve upite nad , važi . Ovo radimo tako što jednostavno za fiksirano izvršimo sve upite redom, u složenosti . Pošto ćemo proveriti najvise indeksa, ukupna složenost će biti .
Slično, možemo da nađemo najveći indeks za koji je nakon što izvršimo sve upite nad važi .
Ovime smo upravo i našli broj traženih elemenata: , odnosno svi elementi iz segmenta zadovoljavaju nakon izvršenih upita.
Potrebno je obratiti posebnu pažnju pri obrađivanju međurezultata kod upita zato što brojevi mogu ispasti iz granica long long-a, odnosno 64-bitovnog tipa podataka.
Zadatak je preuzet sa , takmičenje .
Comments