زورو سرور می‌خرد


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

مدتی است که زورو به فکر خرید سرور است. زورو پس از بررسی‌های بسیار nn سرور مناسب پیدا کرده است که سرور iiام CiC_i هسته دارد که هر کدام فرکانس FiF_i دارد. قیمت سرور iiام نیز ViV_i است. لازم به ذکر است که هسته‌های یک سرور از یک‌دیگر مستقل‌اند و می‌توانند کارهای متفاوتی را انجام دهند.

زورو که به فکر کسب و کار است ، با جست و جوی فراوان mm مشتری پیدا می‌کند. مشتری iiام حاظر است که viv_i واحد پول به زورو بدهد به شرطی که زورو cic_i هسته از سرور (های)ش را که هر کدام حداقل فرکانس fif_i داشته باشد را به او اجاره دهد. لازم به ذکر است که هر هسته را می‌توان به حداکثر یک نفر اجاره داد.

زورو که نمی‌خواهد این فرصت را از دست بدهد، از شما خواسته که به او کمک کنید و حداکثر سود ممکن را به او بگویید.

ورودی🔗

در خط اول ورودی nn ، تعداد سرورهای موجود برای خرید آمده است.

در هر یک از nn خط بعدی سه عدد CiC_i ، FiF_i و ViV_i آمده است که نشان‌دهنده مشخصات سرور iiام است.

در خط بعدی ورودی mm ، تعداد مشتری های زورو آمده است.

در هر یک از mm خط بعدی سه عدد cic_i ، fif_i و viv_i آمده است که نشان دهنده ی مشخصات مشتری iiام است.

1n,m2 0001 \le n, m \le 2\ 0001Ci,ci501 \le C_i, c_i \le 50 1Fi,fi1091 \le F_i, f_i \le 10^9 1Vi,vi1091 \le V_i, v_i \le 10^9

خروجی🔗

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

زیر مسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۱۸ n15n \le 15
۲ ۱۸ m15m \le 15
۳ ۱۸ n,m250,Ci=ci=1n, m \le 250, C_i = c_i = 1
۴ ۱۸ Fi=fi=1F_i = f_i = 1
۵ ۱۸ Vi=vi=1V_i = v_i = 1
۶ ۱۰ بدون محدودیت اضافی

مثال🔗

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

4
4 2200 700
2 1800 10
20 2550 9999
4 2000 750
3
1 1500 300
6 1900 1500
3 2400 4550
Plain text

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

350
Plain text

زورو تقلب می‌کند


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

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

زورو که بد جور به فکر پول است ، می‌خواهد اخلاق را زیر پا بگذارد و تقلب کند. او یک بازه ی متوالی از لیست آزمون‌هایش (که به ترتیب زمان برگذاری مرتب شده اند) را به همراه عدد صحیح dd با رعایت xdx-x \le d \le x انخاب می‌کند و به تمام نمرات بازه انتخاب شده dd واحد اضافه می‌کند. دقت کنید که dd می‌تواند منفی باشد (ممکن است زورو غرق رد گم کردن شود و هدف اولیه خود را فراموش کند).

حال او از شما خواسته که به دادش برسید. با گرفتن تعداد آزمون‌های زورو (nn) و لیست نمرات او (AA) و عدد xx، مقدار راضی‌کننده‌ترین پیشرفت تحصیلی پس از تقلب را برایش چاپ کنید.

ورودی🔗

در خط اول ورودی به ترتیب دو عدد nn و xx با فاصله از هم آمده است.

در خط دوم ورودی nn عدد با فاصله آمده‌اند که نشان دهنده لیست نمرات زورو اند. نمرات به ترتیب زمانی داده شده اند. 1n200 0001 \le n \le 200\ 0000x,Ai1090 \le x , A_i \le 10^9

خروجی🔗

تنها یک عدد چاپ کنید که برابر با بیشینه مقدار راضی کنندگی یک پیشرفت تحصیلی است.

زیر مسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۵ n,x10n,x \le 10
۲ ۱۰ n,x50n,x \le 50
۳ ۱۳ n1000n \le 1000
۴ ۱۰ x=0x = 0
۵ ۲۰ x5x \le 5 n5×104n \le 5 \times 10^4
۶ ۱۷ x=109x = 10^9
۷ ۲۵ بدون محدودیت اضافی

مثال🔗

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

8 10
7 3 5 12 2 7 3 4
Plain text

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

5
Plain text

زورو می‌تواند بازه ی [2,3][2,3] و d=5d = -5 را انتخاب کند. بدین شکل [2,0,2,3,4][-2,0,2,3,4] یک پیشرفت تحصیلی بهینه است.

زورو دنباله می‌فروشد


به محدودیت حافظه این سوال دقت کنید.

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

زورو که نتوانست پدرش را راضی کند که در درسش پیشرفت داشته است، راه و چاره دیگری برای پول در آوردن پیدا کرد.

او قصد دارد یک دنباله به طول nn از اعداد طبیعی را بر روی تکه کاغذی بنویسد و به دوست ریاضی دانش بفروشد! از آنجایی که پارسا می‌داند هیچ آدم عاقلی یک دنباله از اعداد را نمی‌خرد، سعی بر چرندبافی درباره ی این دنباله می‌کند. او ادعا می‌کند که اگر تمام زیردنباله‌های متوالی به طول ll دنباله اولیه را در نظر بگیریم، تعداد زیادی از آنها kk-متشابه هستند. به دو دنباله هم طول kk-متشابه می‌گوییم اگر تعداد اندیس‌های متناظرشان که یکسان نیستند حداکثر kk باشد.

حال که زورو دنباله aa و عدد ll را انتخاب کرده است، می‌خواهد به ازای هر کدام از nl+1n-l+1 زیردنباله ی متوالی به طول ll بداند که با چند دنباله ی دیگر kk-متشابه است. از آنجایی که او هنوز مقدار kk را مشخض نکرده است، qq بار از شما می‌خواهد که به ازای یک kk خاص پاسخ سوال او را بدهید.

ورودی🔗

در خط اول ورودی به ترتیب دو عدد nn و ll آمده است.

در خط دوم ورودی nn عدد با فاصله آمده‌اند که نشان دهنده دنباله زورو اند.

در خط سوم ورودی qq، تعداد پرسش‌های زورو آمده است.

در هر یک از qq خط بعدی یک عدد kik_i آمده که پرسش زورو را مشخص می‌کند. 1ln10 0001 \le l \le n \le 10\ 0001ai1091 \le a_i \le 10^9 1q1001 \le q \le 100 0kil0 \le k_i \le l

خروجی🔗

در هر یک از qq خط خروجی ، nl+1n-l+1 عدد چاپ کنید که عدد iiام سطر jjام نشان دهنده تعداد زیردنباله‌های متوالی است که با زیردنباله iiام kjk_j-متشابه هستند.

زیر مسئله‌ها🔗

زیرمسئله نمره محدودیت
۱ ۲۵ n300n \le 300
۲ ۲۰ n2000n \le 2000
۳ ۲۰ q=1,k1=0q = 1, k_1 = 0
۴ ۱۵ q=1q = 1
۵ ۲۰ بدون محدودیت اضافی

مثال🔗

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

6 2
1 2 1 3 2 1
2
1
2
Plain text

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

2 1 1 1 1
4 4 4 4 4
Plain text

نمره دهی سوالات


نمره‌دهی سوالات

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

برای استفاده از این قابلیت شما می‌توانید در کنار تست‌ها یک فایل به نام config.json قرار دهید که در آن یک شی JSON قرار دارد و یک لیست به نام packages دارد که هر عضو آن یک دیکشنری است و دو ویژگی به نام score و tests دارد. score نمره آن دسته از تست‌ها و tests یک لیست شامل شماره آن تست‌ها می‌باشد.

توجه کنید که جمع score دسته‌ها لازم نیست عدد خاصی شود و در نهایت نمره اصلی یک ارسال با توجه به نمره اصلی سوال که در بخش تنظیمات سوال وارد می‌شود محاسبه می‌شود.

برای مثال در این سوال تست‌ها دسته بندی شدند و به ازای هر دسته اطلاعات مربوط در فایل config.json وارد شده است. می‌توانید تست‌های این سوال را از این‌جا ببینید.