Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2006-11-11 11:24:00.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:zeap.in, zeap.outSursăHappy Coding 2006
AutorMircea Bogdan PasoiAdăugată de
Timp execuţie pe test0.6 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultatenormalnormalnormalnormalnormal

Vezi solutiile trimise | Statistici

Zeap

Aceasta pagina a fost importata din infoarena1 si nu este inca prelucrata.
Sterge ==Include(file="template/raw")== cand esti multumit cu continutul paginii.

zeap

Desi putini stiu, una din marile pasiuni ale lui Zaharel sunt structurile de date. Intr-o zi de vara, rasfoind diverse cursuri de structuri de date, Zaharel s-a decis sa inventeze propria lui structura pe care a numit-o zeap. In conceptia lui Zaharel, un zeap mentine o multime de numere naturale distincte si suporta urmatoarele operatii intr-un timp eficient:

S INSEREAZA: se insereaza elementul x in zeap-ul Z; daca x exista deja in zeap se ignora operatia; aceasta operatie nu returneaza nimic

S STERGE: se sterge elementul x din zeap-ul Z; in cazul in care elementul nu exista in zeap, operatia returneaza -1

S CAUTA : se cauta elementul x in zeap-ul Z; se returneaza 0 daca elementul nu exista sau 1 daca exista

S MAX-DIF: returneaza diferenta in modul maxima dintre oricare doua elemente distincte din zeap-ul Z; daca nu exista cel putin doua elemente in zeap se returneaza -1

S MIN-DIF: returneaza diferenta in modul minima dintre oricare doua elemente distincte din zeap-ul Z; daca nu exista cel putin doua elemente in zeap se returneaza -1

Cerinta

Screiti un program care sa simuleze comportamentul unui zeap.

Date de Intrare

Fisierul de intrare zeap.in va contine pe fiecare linie descrierea unei operatii:

I x: se efectueaza operatia INSEREAZA

S x: se efectueaza operatia STERGE

C x: se efectueaza operatia CAUTA

MAX: se efectueaza operatia MAX-DIF

MIN: se efectueaza operatia MIN-DIF

Date de Iesire

Pentru fiecare operatie care returneaza o valoare se va afisa rezultatul respectiv pe cate o linie in fisierul de iesire zeap.out.

Restrictii si observatii

S Fisierul de intare va contine maxim 300.000 linii

S Numerele care se vor insera in zeap vor fi numere naturale din intervalul [1...10^9]

S Se recomanda folosirea functiilor gets/fgets pentru cei ce programeaza in C/C++ datorita volumului mare de date de intrare

Exemplu

zeap.in zeap.out
I 1 -1

I 3 6

S 2 2

I 7 0

MAX 1

MIN 6

C 5 6

C 1

S 3

MAX

MIN

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?