elimin

Time limit: 3s Memory limit: 32MB Input: elimin.in Output: elimin.out

Se consideră un şir de nn numere naturale x1,x2,...,xnx_1, x_2, ..., x_n asupra căruia se execută succesiv mm operaţii de eliminare. O operaţie de eliminare constă din alegerea a doi indici i,ji, j (1ij1 \leq i \leq j \leq numărul de elemente din şir) şi eliminarea din şir a celui mai mare element din subsecvenţa xi,xi+1,...,xjx_i, x_{i+1}, ..., x_j. Dacă sunt mai multe elemente de valoare maximă se va elimina cel cu indicele cel mai mic. După fiecare eliminare se renumerotează termenii şirului (indicii elementelor de după cel eliminat vor fi decrementaţi cu 11).

Cerinţă

Determinaţi subşirul rămas după cele mm operaţii de eliminare.

Date de intrare

Pe prima linie a fişierului de intrare elimin.in sunt scrise două numere naturale separate printr-un spaţiu n mn \ m, reprezentând numărul de elemente din şirul iniţial şi respectiv numărul de operaţii de eliminare. Pe următoarele nn linii sunt scrise numerele şirului iniţial, câte unul pe linie. Fiecare dintre ultimele mm linii conţin două numere naturale separate printr-un spaţiu i ji \ j reprezentând indicii între care se execută o operaţie de eliminare. Mai exact, pe linia 1+n+k1+n+k (1km1 \leq k \leq m) este scris intervalul corespunzător celei de-a kk-a eliminări (1ijnk+11 \leq i \leq j \leq n-k+1).

Date de ieșire

În fişierul de ieşire elimin.out se vor scrie cele nmn-m numere rămase, respectând ordinea iniţială, câte un număr pe o linie.

Restricții și precizări

  • 2n1 000 0002 \leq n \leq 1 \ 000 \ 000
  • 1mmin(n1,500 000)1 \leq m \leq \min(n-1, 500 \ 000 )
  • Termenii şirului sunt numere naturale din intervalul [1,300 000][1, 300 \ 000 ]

Exemplul 1

elimin.in

8 5
3
7
2
5
8
5
9
4
2 5
6 6
3 6
2 5
1 2

elimin.out

2
5
4

Log in or sign up to be able to send submissions!