Problem

1 /10


در C++ تنظیم می شود

Theory Click to read/hide

در C++ تنظیم می‌شود

تنظیم (مجموعه) — این ظرفی است که به طور خودکار عناصر اضافه شده را به ترتیب صعودی مرتب می کند. اما هنگام افزودن مقادیر یکسان، set فقط یک نمونه از آن را ذخیره می‌کند (multiset - multiset- ممکن است دارای موارد تکراری باشد). هنگامی که یک عنصر جدید به مجموعه اضافه می شود، بلافاصله در جای خود قرار می گیرد تا ترتیب مرتب سازی را نقض نکند.  

مجموعه‌ها در C++ در کتابخانه قالب استاندارد STL از طریق کلاس set (multiset) تعریف می‌شوند.

مجموعه‌ها درخت‌های قرمز-سیاه باینری هستند. عملیات جستجو، حذف و درج پیچیدگی لگاریتمی دارند.
 
برای استفاده از مجموعه ها، باید کتابخانه “set” را وارد کنید: #include <set>
تنظیم اعلامیه:
تنظیم<int> mySet; // اعلام یک مجموعه خالی. چند مجموعه<int> mySet; // اعلام یک چند مجموعه خالی.  
توابع کار با یک مجموعه (مجموعه)
 
empty() - عدم وجود عناصر را در ظرف بررسی می کند
 
size() - تعداد عناصر موجود در ظرف را برمی‌گرداند
 
clear() - ظرف را پاک می کند
 
insert() - عناصر را درج می کند
 
erase() - عناصر را حذف می کند
 
count() - تعداد عناصر مطابق با یک کلید داده شده را برمی‌گرداند
 
find() - عنصری را با یک کلید خاص پیدا می کند
 
lower_bound() - یک تکرار کننده را به عنصر اول که کمتر از مقدار داده شده نباشد برمی گرداند
 
upper_bound() - یک تکرار کننده را به اولین عنصر بزرگتر از مقدار مشخص شده برمی گرداند
 

 
مثال مجموعه و چند مجموعه
#include <iostream> #include <set> با استفاده از namespace std. int main() { تنظیم<int> mySet1; // یک مجموعه خالی اعلام کرد چند مجموعه<int> mySet2; // یک چند مجموعه خالی اعلام کرد // عناصر را به مجموعه اضافه کنید mySet1.insert(1); mySet1.insert(2); mySet1.insert(3); mySet1.insert(1); // عناصر را به مولتی مجموعه اضافه کنید mySet2.insert(1); mySet2.insert(2); mySet2.insert(3); mySet2.insert(1); تنظیم<int>::iterator it; //یک تکرار کننده ایجاد کنید for(it = mySet1.begin(); it != mySet1.end(); it++) { // نمایش همه عناصر cout << (*آن) << " "; // مجموعه ها } cout << endl; for(it = mySet2.begin(); it != mySet2.end(); it++) { // خروجی همه عناصر cout << (*آن) << " "; // چند مجموعه } بازگشت 0; }

Problem

ورودی
با دادن یک عدد N (1 <= N <= 100000) – تعداد درخواست ها خطوط N زیر حاوی کاراکتر ‘+’ یا ‘-’ و عدد a (1 <= a <= 1000000000). اگر نماد – ‘+’، سپس عدد a به مجموعه اضافه می شود، در غیر این صورت – تمام مقادیر a را که قبلاً اضافه شده بود حذف می کند.
تضمین می شود که وقتی یک عدد حذف می شود، در مجموعه موجود است.

حصر
پس از تکمیل تمام پرس و جوها، باید تمام عناصر منحصر به فرد در مجموعه را به ترتیب صعودی نمایش دهید، یا اگر هیچ عنصری در مجموعه وجود ندارد، "-1" نمایش داده شود.

 
نمونه‌ها
<سر> <بدن>
# ورودی خروجی
1
3
+1
+2
-1
2
2
3
+1
+1
-1
-1
3
3
+1
+1
+1
1