• محدودیت زمان: ۱ ثانیه
  • محدودیت حافظه: ۲۵۶ مگابایت

بعد از انجام برآوردهای اولیه، حالا به سامانه‌ای برای مدیریت رویداد نیاز داریم. این سامانه باید قابلیت‌های زیر را پشتیبانی کند:

ایجاد رویداد

برای ایجاد رویداد دستور زیر وارد می‌شود که در آن eventName نام رویداد و costPerPerson هزینه رویداد به ازای هرشرکت‌کننده است.

CREATE eventName costPerPerson

در صورتی که نام رویداد تکراری باشد، باید پیام خطا زیر چاپ شود:

UNSUCCESSFUL CREATE

حذف رویداد

برای حذف رویداد دستور زیر وارد می‌شود که در آن eventName نام رویداد است.

DELETE eventName

در صورتی که نام رویداد وجود نداشته باشد، باید پیام خطا زیر چاپ شود:

INVALID EVENTNAME

افزودن شرکت کننده به یک رویداد

برای افزودن شرکت کننده به یک رویداد دستور زیر وارد می‌شود که در آن userName نام کابر و eventName نام رویداد مورد است.

ADD userName EventName

درصورتی که کاربر از قبل به رویداد اضافه شده باشد، باید پیام خطا زیر چاپ شود:

USER ALREADY ADDED TO EVENT

در صورتی که نام رویداد وجود نداشته باشد، باید پیام خطا زیر چاپ شود:

INVALID EVENTNAME

حذف شرکت کننده از یک رویداد

برای حذف شرکت کننده از یک رویداد دستور زیر وارد می‌شود که در آن userName نام کابر و eventName نام رویداد مورد نظر است.

REMOVE userName EventName

درصورتی که کاربر از قبل در ایونت وجود نداشته، باید پیام خطا چاپ شود:

USER NOT FOUND IN EVENT

در صورتی که نام رویداد وجود نداشته باشد، باید پیام خطا زیر چاپ شود:

INVALID EVENTNAME

محاسبه هزینه رویداد

برای محاسبه هزینه رویداد دستور زیر وارد می‌شود که در آن eventName نام رویداد است. هزینه هر رویداد معادل حاصل ضرب تعداد شرکت کنندگان آن رویداد و هزینه به ازای هر شرکت کننده است.

COST eventName

در صورتی که نام رویداد وجود نداشته باشد، باید پیام خطا زیر چاپ شود:

INVALID EVENTNAME

خروج از سامانه

برای اتمام کار سامانه دستور زیر وارد می‌شود. تضمین می‌شود در پاین هر مجموعه ای از دستورات این دستور وارد شود.

FINISH

ورودی و خروجی

در هر خط ورودی یکی از دستورات فوق وارد می‌شود. تعداد خط های ورودی از \(10^5\)کمتر خواهد بود. تضمین می‌شود در خط آخر دستورات دستور خروج از سامانه وارد شود و بعد از آن دستور دیگری وارد نشود. تضمین می‌شود که هزینه نهایی در محدوده‌ی نوع داده‌ی int64 قرار دارد. در صورت اجرای موفق پیام زیر و در صورت وجود خطا پیغام خطا مرتبط چاپ می‌شود ، به استثنا دستور محسابه هزینه که باید مقدار هزینه محاسبه‌شده چاپ شود.

SUCCESSFUL

مثال

ورودی نمونه ۱

CREATE olympic 200000
ADD ali olympic
ADD sara olympic
COST olympic
FINISH

خروجی نمونه ۱

SUCCESSFUL
SUCCESSFUL
SUCCESSFUL
400000

در گام اول یک رویداد با نام olympic و هزینه هر نفر ۲۰۰۰۰۰ ساخته می‌شود. در گام های دوم و سوم دو کاربر با موفقیت به رویداد olympic اضافه میشوند. در گام چهارم هزینه رویداد محاسبه می‌شود که برابر است با ۲*۲۰۰۰۰۰ =۴۰۰٬۰۰۰ .

ورودی نمونه ۲

CREATE techfest 100000
CREATE techfest 150000
DELETE codecup
ADD reza techfest
ADD reza techfest
REMOVE sara techfest
REMOVE reza codecup
COST codecup
COST techfest
FINISH

خروجی نمونه ۲

SUCCESSFUL
UNSUCCESSFUL CREATE
INVALID EVENTNAME
SUCCESSFUL
USER ALREADY ADDED TO EVENT
USER NOT FOUND IN EVENT
INVALID EVENTNAME
INVALID EVENTNAME
100000
ارسال پاسخ برای این سؤال
فایلی انتخاب نشده است.