Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | eliminare.in, eliminare.out | Sursă | Lot 2004 |
Autor | Nistor Eugen Mot | Adăugată de | |
Timp execuţie pe test | 1.75 sec | Limită de memorie | 36864 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Eliminare
Se considera un sir de n numere naturale x1, x2, ..., xn asupra caruia se executa succesiv m operatii de eliminare. O operatie de eliminare consta din alegerea a doi indici i, j (1≤i≤j≤numarul de elemente din sir) si eliminarea din sir a celui mai mare element din subsecventa xi, xi+1, ..., xj. Daca sunt mai multe elemente de valoare maxima se va elimina cel cu indicele cel mai mic. Dupa fiecare eliminare se renumeroteaza termenii sirului (indicii elementelor de dupa cel eliminat vor fi decrementati cu 1).
Cerinta
Determinati subsirul ramas dupa cele m operatii de eliminare.
Date de intrare
Pe prima linie a fisierului de intrare eliminare.in sunt scrise doua numere naturale separate printr-un spatiu n m, reprezentand numarul de elemente din sirul initial si respectiv numarul de operatii de eliminare. Pe urmatoarele n linii sunt scrise numerele sirului initial, cate unul pe linie. Fiecare dintre ultimele m linii contin doua numere naturale separate printr-un spatiu i j reprezentand indicii intre care se executa o operatie de eliminare. Mai exact, pe linia 1+n+k (1≤k≤m) este scris intervalul corespunzator celei de-a k-a eliminari (1≤i≤j≤n-k+1).
Date de iesire
In fisierul de iesire eliminare.out se vor scrie cele n-m numere ramase, respectand ordinea initiala, cate un numar pe o linie.
Restrictii
- 2 ≤ n ≤ 1 000 000
- 1 ≤ m ≤ min(n-1, 500 000)
- Termenii sirului sunt numere naturale nenule din mai mici sau egale decat 300 000
Exemplu
eliminare.in | eliminare.out |
---|---|
8 5 3 7 2 5 8 5 9 4 2 5 6 6 3 6 2 5 1 2 | 2 5 4 |