Revizia anterioară Revizia următoare
Fişierul intrare/ieşire: | brasov.in, brasov.out | Sursă | Concursul National de Informatica "Adolescent Grigore Moisil" 18 |
Autor | Vlad-Andrei Munteanu | Adăugată de | |
Timp execuţie pe test | 2.75 sec | Limită de memorie | 64000 kbytes |
Scorul tău | N/A | Dificultate | N/A |
Vezi solutiile trimise | Statistici
Brasov
Gigel are o functie F definita initial pe multimea vida. Deoarece acesta vrea sa gaseasca formula exacta pentru a lua 300 de puncte la ONI (nu o sa las enuntul chiar asa, dar meh), va roaga sa il ajutati sa execute urmatoarele update uri si query uri asupra intervalului pe care este definita functia:
1 a b -> I = I U [a, b]
0 a b -> I = I \ (a, b)
MAX -> lungimea maxima a unui interval nedegenerat din I
MIN -> lungimea minima a unui interval nedegenerat din I
Diff_min -> diferente minima dintre lungimile a 2 intervale din I
Diff_max -> lungimea maxima dintre lungimile a 2 intervale din I
2 a b -> cate intervale din i au lungimea cuprinsa intre a si b
(se iau in calcul doar intervalele maximale -> cu alte cuvinte, daca am intervalul nedegenerat [x, y], nu am voie sa iau niciun interval [z, w] cu proprietatea ca [z, w] este inclus in [x, y])
Date de intrare
q - numarul de query uri
q1
q2
q3
...
Date de ieşire
r1
r2
r3
...
În fişierul de ieşire brasov.out ...
Restricţii
- 1 ≤ q ≤ 500000
- 1 ≤ op1 + op2 ≤ 200000
Exemplu
brasov.in | brasov.out |
---|---|
This is some text written on multiple lines. | This is another text written on multiple lines. |
Explicaţie
...