Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2018-03-19 20:03:20.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:brasov.in, brasov.outSursăConcursul National de Informatica "Adolescent Grigore Moisil" 18
AutorVlad-Andrei MunteanuAdăugată deAGMinformaticaAGMInformatica AGMinformatica
Timp execuţie pe test2.75 secLimită de memorie64000 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Brasov

Aflat la doar o saptamana inaintea inceperii etapei nationale a olimpiadei de informatica, un impatimit fan al acestei competitii, Georgel Tractorescu, isi depaneaza amintirile din anii ce-au trecut alaturi de prieteni la un pahar de suc in Centrul Vechi al orasului Brasov. Acesta isi aminteste cu placere de fiecare clipa petrecuta in acest mediu prielnic dezvoltarii atat pe plan academic, cat si pe plan personal, asa ca doreste sa inchine un pahar de apa in cinstea organizatorilor. Totusi, deoarece nimic nu este perfect, Georgel si-a dat seama de o eroare in regulamentul acestei competitii si vrea sa profite de aceasta pentru a manipula viitoarele rezultate si, cine stie, poate chiar sa va ofere voua locul 1. Fiind insa prea ocupat sa se relaxeze, acesta va propune urmatoarea afacere: oricine il ajuta pe Georgel sa isi duca la bun sfarsit planul, va primi de la acesta 100 de puncte in cadrul concursului "Adolescent Grigore Moisil" si poate 300 de puncte la viitoarea editie a olimpiadei nationale de informatica, iar cine nu va fi nevoit sa se multumeasca cu un Guinness. Deoarece Georgel nu este usor de pacalit (fiti ca Georgel!) acesta nu va da propriu-zis greseala din regulament, ci va cere sa ii implementati un program care sa ii raspunda la un set de cerinte. Stiind ca initial se pleaca de la o functie care este definita pe multimea vida, cerintele sunt dupa cum urmeaza:

  • 1 a b - se insereaza intervalul [a, b] in domeniul functiei (I = I U [a, b])
  • 0 a b - se sterge intervalul (a, b) din domeniul functiei (I = I \ (a, b))
  • MAX - se cere sa se determinea lungimea maxima a unui interval nedegenerat din domeniu, iar in cazul in care nu exista niciun interval, se va afisa -1.
  • MIN - se cere sa se determine lungimea minima a unui interval nedegenerat din domeniu, iar in cazul in care nu exista niciun interval, se va afisa -1.
  • Diff_min - se cere sa se determina diferenta minima dintre lungimile a doua intervale nedegenerate din domeniu, iar in cazul in care nu exista cel putin doua intervale, se va afisa -1.
  • Diff_max - se cere sa se determina diferenta maxima dintre lungimile a doua intervale nedegenerate din domeniu, iar in cazul in care nu exista cel putin doua intervale, se va afisa -1.

Date de intrare

Fisierul de intrare brasov.in contine pe prima linie numarul q, reprezentand numarul de cerinte. Fiecare dintre urmatoarele q linii descrie unul dintre tipurile de cerinte prezentate mai sus.

Date de ieşire

În fişierul de ieşire brasov.out se vor afisa raspunsurile pentru fiecare cerinta, fiecare raspuns aflandu-se pe cate o linie separata si in ordinea din in care au fost citite cerintele.

Restricţii

  • 1 ≤ q ≤ 500.000.
  • $-100.000.000 ≤ a ≤ 100.000.000.
  • $-100.000.000 ≤ b ≤ 100.000.000.
  • Se garanteaza ca pentru fiecare cerinta de tipul 1 urmatoarea relatie este valabila: a ≤ b.
  • Se garanteaza ca pentru fiecare cerinta de tipul 2 urmatoarea relatie este valabila: a + 1 ≤ b.
  • Se garanteaza ca nu vor fi mai mult de 200.000 cerinte din tipul 1 si din tipul 2.
  • Un interval I este considerat nedegenerat daca si numai daca poate fi scris ca [a, b].

Exemplu

brasov.inbrasov.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?