انتقال فایل


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

در مرکز داده ی سرداده nn سرور که با شماره های 11 تا nn شماره گذاری شده اند، برای نگهداری فایل های کاربران قرار دارد که هر فایل در تعدادی از آن ها ذخیره می شود تا در صورت بروز مشکل یا خرابی در هرکدام از آن ها، اطلاعات تا جای ممکن از دست نروند و میزان دسترسی کاربران به فایل هایشان در هر لحظه در بالاترین سطح ممکن قرار بگیرد. شما به عنوان مسئول زیرساخت و طراح سیستم، مسئولیت طراحی داده ساختاری دارید که بتواند نیازهای سیستم را برطرف کند و به درخواست های آن پاسخ مناسبی بدهد. در طول روز، qq درخواست مختلف به ترتیب به سمت مرکز داده می آید که هر کدام به یکی از دو نوع زیر است:

• درخواست “x add”: فایل جدیدی با حجم xx مگابایت به انتهای صف فایل های سرور 11 اضافه می شود.

• درخواست “sync”: به صورت همزمان، به ازای هر 1<=i<=n1 <= i <= n قدیمی ترین فایلی که در صف سرومiام قرار دارد و در صف فایل های سرور(i+1)(i+1)ام قرار ندارد (در صورت وجود) به سرور(i+1)(i+1)ام ارسال می شود تا در انتهای صف فایل های سرور(i+1)(i+1)ام قرار بگیرد.

تمام فایل های ورودی، حتی در صورت هم حجم بودن، باهم متفاوت در نظر گرفته می شوند. هدف، محاسبه ی مجموع حجم فایل های درون صف های سرور ها پس از اجرای هر دستور است. دقت کنید که فایل های ورودی هرگز حذف نخواهند شد.

ورودی🔗

در خط اول ورودی دو عددnn و qq که به ترتیب برابر با تعداد سرورها و تعداد درخواست های ورودی به سیستم است به شما داده می شود. در هرکدام از qq خط بعدی، به ترتیب یکی از درخواست های گفته شده با فرمت معتبر داده می شود.

خروجی🔗

خروجی شامل qq خط است که در خط iiام باید مجموع حجم تمام فایل های درون صف های سرورها تا انتهای انجام درخواست iiام را محاسبه و چاپ کنید.

محدودیت‌ها🔗

  • 1n,q1061 \leq n, q \leq 10^6
  • اندازه‌ی فایل‌ها عددی طبیعی و حداکثر برابر با 10910^9 است.

مثال‌ها🔗

ورودی نمونه ۱🔗

3 7
add 1
add 2
sync
add 1
add 2
sync
sync
Plain text

خروجی نمونه ۱🔗

1
3
4
5
7
10
13
Plain text
ارسال پاسخ برای این سؤال
در حال حاضر شما دسترسی ندارید.