Problem

1 /10


Sätze in C++

Theory Click to read/hide

Multiples (Set) in C++

Множество (set)- Es ist ein Behälter, der automatisch Zusatzstoffe sortiert, um zu erhöhen. Aber beim Hinzufügen der gleichen Werte, set Nur eine Kopie wird gespeichert.multisetMehrere - kann Duplikate enthalten. Wenn er ein neues Element zu vielen Dingen hinzufügt, kommt er an seinen Platz, so dass er nicht den Sortierauftrag bricht.

Mehrere in C+ werden in der Standardbibliothek von Vorlagen definiert STL von Klasse set (multiset)

Viele basieren auf binären roten Bäumen. Suchen, Entfernen und Abrufen haben logarithmische Schwierigkeiten.
Für mehrere Anwendungen, die Bibliothek "set”:
♫include Éventur

Mehrere Ankündigungen:
set channel mySet; / Ankündigung einer leeren Partie.

Multiset Interferenz mySet; / Eine Ankündigung einer leeren Vielzahl.
Mehrere (Set) Funktionen
empty() - Überprüfen Sie das Fehlen von Komponenten im Behälter
size() - Gibt die Anzahl der Zellen im Container zurück.
clear() - Reinigung des Behälters.
insert() - Elemente
erase() # Elemente löschen
count() - Gibt die Anzahl der Elemente zurück, die dem Schlüssel entsprechen.
find() - Ein Schlüsselelement gefunden.
lower_bound() - Gibt den Terator an das erste Element mindestens den beabsichtigten Wert zurück
upper_bound() - Der Terator kehrt mehr als einen bestimmten Wert zum ersten Element zurück.

Beispiel für Vielfältigkeit und Vielfältigkeit
♫include PEROTING
♫include Éventur

mit Namespace std;

int main()

{~}

setzen Pipelineint Bestandteil mySet1; / angekündigt viele leer
multiset Channelint mySet2; / deklariert leer Multiple

// Elemente in mehrere Teile einfügen
mySet1.insert(1);
mySet1.insert(2);
mySet1.insert(3);
mySet1.insert(1);

// Elemente zur Multiplikation hinzufügen
mySet2.insert(1);
mySet2.insert(2);
mySet2.insert(3);
mySet2.insert(1);

Meilenstein::iterator it; //
für(it = mySet1.begin(); it= mySet1.end(); it++) { // Schlussfolgerung aller Elemente
cout PERPEN (*it) PERPENT " / Multiplikatoren
♪

cout vielseitig;

für(it = mySet2.begin(); it= mySet2.end(); it++) { // Schlussfolgerung aller Elemente
cout PERPEN (*it) PERPO "; / Multiplikatoren
♪

Rückkehr 0;
♪

Problem

Eingabe
Die Zahl N wurde angegeben (1 <= N <= 100000) – Anzahl der Abfragen. Die folgenden N Zeilen enthalten das Symbol ‘+’ oder ‘-’ und die Zahl a (1 <= a <= 1000000000). Wenn das Zeichen – ‘+’ ist, wird die Zahl a zur Menge hinzugefügt, andernfalls werden alle zuvor hinzugefügten a -Werte entfernt.
Es ist garantiert, dass es beim Löschen einer Zahl in einer Menge enthalten ist.

Ausgabe
Sie müssen alle eindeutigen Elemente in der Menge in aufsteigender Reihenfolge ausgeben, nachdem alle Abfragen ausgeführt wurden, oder «-1», wenn keine Elemente in der Menge vorhanden sind.

 
Beispiele
Eingabe Ausgabe
1
3
+ 1
+ 2
- 1
2
2
3
+ 1
+ 1
- 1
-1
3
3
+ 1
+ 1
+ 1
1