Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | timetravel.in, timetravel.out | Sursă | Algoritmiada 2013, Runda Finala |
Autor | Cosmin Gheorghe | Adăugată de | |
Timp execuţie pe test | 0.75 sec | Limită de memorie | 65536 kbytes |
Scorul tău | N/A | Dificultate |
Vezi solutiile trimise | Statistici
Timetravel
Vreau sa scrieti voi
Date de intrare
M pe prima linie numarul de operatii.
Fiecare rand are prima valoare tipul operatie:
Daca e de tipul 1 se adauga insert(-inf, val(ccare se citeste))
Daca e de tipul 2 se adauga erase(time(care se citeste), val(care se citeste)) , nu se garanteaza ca val exista inca sau ca va exista vreodata, pot exista mai multe, se pastreaza toate
Daca e de tipul 3 se sterge un insert(-inf, val(care se citeste)), se garanteaza ca val exista
Daca e de tipul 4 se sterge exact un erase(time(care se citeste), val(care se citeste)), se garanteaza ca un erase(time, val) cu aceste valori exista
Daca e de tipul 5 se face query(time(care se citeste), val(care se citeste)) cum scrie pe forum.
Date de ieşire
În fişierul de ieşire timetravel.out se va afisa raspunsul la fiecare query.
Daca nu exista un astfel de numar se afiseaza "Time paradox" (fara ghilimele)
Restricţii
- 1 <= M <= 500.000
- 1 <= N <= 100.000 unde N e numarul de valori distincte cu care se apeleaza insert(-inf, val)
- 1 <= time, val <= 1.000.000.000 pentru orice operatie
Exemplu
timetravel.in | timetravel.out |
---|---|
19 5 -100 100 1 100 2 20 100 2 10 50 2 10 50 5 0 50 5 0 101 5 5 100 5 15 100 5 20 0 1 50 5 0 50 5 5 51 5 9 50 5 10 50 4 10 50 5 10 50 4 10 50 5 10 50 | Time paradox 100 Time paradox 100 100 Time paradox 50 100 50 100 100 50 |
Explicaţie
...