شکل‍ات خوشمزه


  • محدودیت زمان: ۰٫۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت
  • محدودیت اعداد: تمامی اعداد ورودی و خروجی از 101810^{18} کوچک‌ترند.
  • داستان‌های این مسابقه با اقتباس از کتاب چارلی و کارخانه‌ی شکلات‌سازی نوشته‌ی رولد دال نگاشته شده‌است و شما در ۵ سؤال ابتدایی نقش اومپا-لومپا ها با مسئولیت‌های مختلف و در سؤال آخر نقش چارلی را بازی می‌کنید.

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

ویلی‌وانکا از فرمول‌های عجیبی برای ساخت شکل‍ات‌ها و آب‌نبات‌هایش استفاده می‌کند. از انواع مختلف شیرینی‌های عجیب او می‌توان به گاب‌استاپر، رانت، فان‌دیپ و سویی‌تارت اشاره کرد. این دفعه او به اومپا-لومپای رئیس گفته که از سفرش به لومپالند، کلی دانه‌ی کاکائو بیاورد. پس از بازگشت اومپا-لومپای رئیس از سفر، دانه‌های کاکائویی با طعم‌ها، رنگ‌ها، بوها و اندازه‌های مختلف به دست ویلی‌وانکا رسید. حال او برای ابداع جدیدش می‌خواهد متفاوت‌ترین دانه‌های کاکائو از نظر شیرینی و تلخی را با هم مخلوط کند تا شکل‍ات نهایی هم شیرین باشد و هم مزایای شکل‍ات تلخ را داشته‌باشد.

توضیح تصویر

شما به عنوان اومپا-لومپای مسئول تحقیقات باید به او کمک کنید.

ورودی🔗

در سطر اول عدد n105n \leq 10^5 — تعداد دانه‌های کاکائو آمده‌است.

در سطر دوم nn عدد با فاصله آمده‌اند که iiمین عدد نشان‌دهنده‌ی مقدار شیرینی دانه‌ی iiم است. (هرچه شیرین‌تر، عدد بزرگ‌تر)

خروجی🔗

دو عدد خروجی داده شود که اولی فاصله‌ی مقدار شیرینی دو دانه‌ی کاکائو انتخابی و دومی، تعداد روش‌های انتخاب این دو دانه است.

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

2
1 2
Plain text

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

1 1
Plain text

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

4
-3 5 4 5
Plain text

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

8 2
Plain text

پ.ن. برای آشنایی بیشتر با محصولات این شرکت، ویدئوی فرآیند تولید گاب‌استاپر فک‌خردکن رو ببینید.

خوابگاه اومپا-لومپایی


  • محدودیت زمان: ۰٫۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت
  • محدودیت اعداد: تمامی اعداد ورودی و خروجی از 101810^{18} کوچک‌ترند.

اومپا-لومپا ها مانند تمامی موجودات زنده نیاز به استراحت یا خواب دارند. استراحت‌گاه آن‌ها به شکل یک جدول n×mn \times m است که در یکی از خانه‌های آن دست‌به‌آب قرار دارد. هر اومپا-لومپا دو خانه‌ی مجاور از این خوابگاه را برای استراحت نیاز دارد و اشغال می‌کند. هم‌چنین اومپا-لومپا ها در زمان خواب ممکن است غلت بزنند یا لگد بپرانند؛ لذا اگر اومپا-لومپای دیگری در آن خانه با او مشترک باشد، ممکن است بل‍ایی سرش بیاید! پس هر خانه‌ای حداکثر متعلق به یک اومپا-لومپا است.

شما به عنوان اومپا-لومپای مسئول خوابگاه، اندازه‌ی استراحت‌گاه و مکان دست‌شویی را می‌دانید و می‌خواهید بفهمید حداکثر چند اومپا-لومپا می‌توانند در آن‌جا به استراحت بپردازند.

ورودی🔗

در سطر اول اعداد n109n \leq 10^9 — طول و m109m \leq 10^9 — عرض استراحت‌گاه آمده‌است.

در سطر بعدی نیز مختصات سرویس بهداشتی آمده‌است. بدیهی است این خانه نمی‌تواند یکی از دو خانه‌ی متعلق به مکان استراحت یک اومپا-لومپا باشد.

خروجی🔗

یک عدد چاپ کنید که حداکثر اومپا-لومپا هایی که می‌توانند در این خوابگاه استراحت کنند را نشان می‌دهد.

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

9 7
5 3
Plain text

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

31
Plain text

اومپا-لومپای خائن


  • محدودیت زمان: ۰٫۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت
  • محدودیت اعداد: تمامی اعداد ورودی و خروجی از 101810^{18} کوچک‌ترند.

تعدادی از اومپا-لومپا ها خائن از آب درآمده‌اند و با دادن اسرار کارخونه به کارخونه‌های رقیب، باعث می‌شوند شکل‍ات‌های ویلی‌وانکا دیگه تک و منحصربه‌فرد نباشند. اما خبرچین‌های ویلی‌وانکا تونستند اطل‍اعاتی از اومپا-لومپا های خائن به دست بیاورند. توضیح تصویر هر اومپا-لومپا در کارخونه یک شماره‌ی شناسایی دارد که ترتیب استخدام آن‌ها در کارخونه را نشان می‌دهد. خبرچین‌ها تونستند به مدارکی دست پیدا کنن که شماره‌های شناسایی جاسوس‌های کارخونه‌های رقیب را در خود دارد.

وظیفه‌ی شما به عنوان اومپا-لومپای مسئول حفظ اسرار و پتنت‌های شرکت (وابسته به WIPO) این است که در بین افرادی که هم‌اکنون در کارخونه کار می‌کنند (و ویلی‌وانکا لیست‌ مرتب‌شده‌ی بر حسب شماره‌ی شناسایی آن‌ها را دارد)، دنبال خائنین بگردید و نام آن‌ها را به ویلی‌وانکا اطل‍اع دهید.

ورودی🔗

در خط اول عدد n105n \leq 10^5 — تعداد کارکنان حال حاضر کارخانه و عدد k105k \leq 10^5 — تعداد افراد مظنون به خیانت آمده‌است.

در nn خط بعدی شماره‌ی شناسایی و نام کارکنان فعلی کارخونه آمده‌است. نام هرکس از یک نام کوچک و یک نام خانوادگی تشکیل شده و هم‌چنین شماره‌های شناسایی لزومن از ۱ تا nn نیستند؛ چون ممکن است یک اومپا-لومپا پس از مدتی از کارخونه رفته‌باشد.

در خط آخر نیز kk عدد آمده‌است که شماره‌ی شناسایی افراد مظنون می‌باشد.

تضمین می‌شود نام کارکنان به ترتیب شماره‌ی شناسایی آن‌ها (که ترتیب استخدام‌شان است) داده‌شود.

خروجی🔗

به ازای هر مظنون اگر هنوز در شرکت مشغول بود، نام او را چاپ کند و اگر در لیست ویلی‌وانکا پیدا نشد، در خروجی عبارت This employee has gone رو چاپ کند.

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

8 5
1 Raees Ghabile
2 Hamsare Raees
4 Nayeb Raees
21 Raees Javan
338 Oompaaye Koochooloo
5326 Olampiadi Khafan
19998 Sep Zame
123456789 Amu Asadi
3 4 60 5 338
Plain text

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

This employee has gone
Nayeb Raees
This employee has gone
This employee has gone
Oompaaye Koochooloo
Plain text

تله‌ی ورودی


  • محدودیت زمان: ۰٫۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت
  • محدودیت اعداد: تمامی اعداد ورودی و خروجی از 101810^{18} کوچک‌ترند.

ویلی‌وانکا، برای این‌که مردم نتونن دزدکی وارد کارخونه بشن، تله‌هایی در جاها و به شکل‌های مختلف ایجاد کرده که یکی از اون‌ها این شکلیه:

توی دروازه‌ی ورودی به کارخونه یه شبکه‌ی n×mn \times m داره که اومپا-لومپا ها بتونن ازش رد شن، اما آدما نتونن. چه‌طوری؟ هرکسی برای رد شدن از این شبکه باید از نقطه‌ی (۰,۰) به نقطه‌ی (m,n)(m,n) برسه. برای رد شدن از این شبکه باید اولن فقط از روی خطوط بری؛ دومن کوتاه‌ترین مسیر رو بری و سومن وزن مسیرت یه مقدار خاص باشه. وزن مسیر هم تعداد خونه‌هاییه که زیر مسیرتن. مثلن در شبکه‌ی 8×118 \times 11 بال‍ا، وزن مسیر ۴۰ است.

حال شما به عنوان اومپا-لومپای مسئول امنیت می‌خواهید بدانید که در کل چند مسیر وجود دارد و مجموع وزن تمامی مسیرها چند است؟

ورودی🔗

در تنها خط ورودی، دو عدد m1000m \leq 1000 ‫—‬ تعداد نقاط افقی و n1000n \leq 1000 ‫—‬ تعداد نقاط عمودی آمده‌است.

خروجی🔗

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

از آن‌جا که ممکن است اعداد بسیار بزرگ باشند، باقی‌مانده‌ی این دو عدد بر 109+710^9+7 را چاپ کنید.

ورودی نمونه🔗

3 4
Plain text

خروجی نمونه🔗

10 30
Plain text

شکلات رویال


  • محدودیت زمان: ۰٫۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت
  • محدودیت اعداد: تمامی اعداد ورودی و خروجی از 101810^{18} کوچک‌ترند.

ویلی‌وانکا در مسابقه‌ی بهترین شکلات‌ساز کهکشان راه شیری شرکت کرده و می‌خواهد بهترین شکلات خود که نام‌ش شکلات رویال است را به کمیته‌ی داوری بفرستد تا به آن امتیاز دهند.

توضیح تصویر

در فرآیند تولید هر نوع شکلات، تعدادی دانه‌ی کاکائو مختلف با عطرها و طعم‌های گوناگون به عنوان ماده‌ی اولیه وجود دارد که بنابر ترتیب اضافه شدن آن‌ها به ترکیبات، شکلاتِ نهایی طعم‌های مختلفی خواهد داشت.

اگر ما nn نوع کاکائو با شیرینی‌های مختلف داشته‌باشیم و آن‌ها را به ترتیب {a1,a2,...,an}\{a_1, a_2, ..., a_n\} که aia_i شیرینی دانه‌ی iiم است، به ترکیب اضافه کنیم؛ شکلات رویال ساخته می‌شود.

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

شفاف‌سازی: (i<j)and(ai>aj)ai×aj\sum_{(i<j) and (a_i > a_j)} a_i \times a_j

حال در فرآیند آنالیز شکلات رویال ارسالی به مسابقات، شما اومپا-لومپای مسئول کیفیت هستید که باید امتیاز شکلات رویالی که به شما داده می‌شود را محاسبه کنید.

ورودی🔗

در سطر اول عدد n105n \leq 10^5 — تعداد دانه‌های کاکائو مختلف برای ساختن شکلات رویال آمده‌است.

در سطر دوم nn عدد آمده که iiمی آن‌ها، ai1000|a_i| \leq 1000، شیرینی iiمین دانه‌ی کاکائو است که به ترکیب اضافه می‌شود. هرچه دانه شیرین‌تر باشد، عدد شیرینی‌اش بزرگ‌تر است.

توجه شود که شیرینی 0 یعنی شکلات نه تلخ است و نه شیرین. در نتیجه شیرینی دانه‌های تلخ، عددی منفی‌ست. در میان دانه‌های کاکائو، حداکثر یک دانه‌ی تلخ (با شیرینی منفی قرار دارد).

تضمین می‌شود که امتیاز حاصل از 101810^{18} کوچک‌تر است.

خروجی🔗

یک عدد چاپ شود که امتیاز شکلات رویال مورد تحقیق است.

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

5
10 3 6 12 2
Plain text

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

152
Plain text

توضیح🔗

امتیاز این شکلات رویال برابر است با:

10×3 + 10×6 + 10×2 + 3×2 + 6×2 + 12×2 = 152
Plain text

جانشین وانکا


  • محدودیت زمان: ۰٫۵ ثانیه
  • محدودیت حافظه: ۵۰ مگابایت
  • محدودیت اعداد: تمامی اعداد ورودی و خروجی از 101810^{18} کوچک‌ترند.

پس از انتخاب چارلی به عنوان جانشین اصلح ویلی‌وانکا طی جریاناتی (به متن اصلی کتاب مراجعه کنید یا کتاب را بخرید)، ویلی‌وانکا برای انتصاب او تصمیم به انجام آخرین تست خود گرفت. او به چارلی یک مسئله‌ی المپیادی داد تا حل کند:

جایگشت nn تایی AA به دنباله‌ای دارای nn عدد مانند <a1,a2,...,an><a_1, a_2, ..., a_n> گفته می‌شود که هریک از اعداد ۱ تا nn دقیقا یک بار در آن ظاهر شده‌باشند. حال جایگشت nn تایی XX را در نظر بگیرید. جایگشت YY را این‌گونه تعریف می‌کنیم:

  • داریم: y1=1y_1 = 1
  • به ازای هر ii بین ۲ تا nn اگر هیچ‌یک از اعداد y1y_1 تا yi1y_{i-1} در YY برابر xi1x_{i-1} نبود، آن‌گاه yi=xi1y_i = x_{i-1}. در غیر این‌صورت yiy_i را برابر کوچک‌ترین عددی از ۱ تا nn می‌گذاریم که برابر هیچ‌یک از اعداد y1y_1 تا yi1y_{i-1} در YY نباشد. در این صورت جایگشت YY را تصویری از جایگشت XX می‌نامیم و می‌گوییم: f(X)=Yf(X) = Y.

حال g(Y)g(Y) را تعداد جواب‌های معادله‌ی f(X)=Yf(X) = Y تعریف می‌کنیم.به عبارت دیگر g(Y)g(Y) تعداد تمام جایگشت‌های nn تایی‌ای مانند XX است که f(X)=Yf(X) = Y.

ویلی‌وانکا به‌عنوان آخرین چالش چارلی به او دو عدد LL و RR را می‌دهد و چارلی باید تعداد تمام جایگشت‌های nn تایی از اعداد ۱ تا nn مانند AA که Lg(A)RL \leq g(A) \leq R باشد را به او پاسخ دهد. از آن‌جا که این عدد ممکن است خیلی بزرگ باشد، باقی‌مانده‌ی تقسیم آن بر 109+710^9 + 7 را خروجی دهید.

ورودی🔗

در سطر اول عدد n2×105n \leq 2 \times 10^5 ‫‫—‬ اندازه‌ی جایگشت‌ها آمده‌است.

در سطر بعدی دو عدد L,R1018L, R \leq 10^{18} آمده‌است.

خروجی🔗

باقی‌مانده‌ی جواب مسئله بر 109+710^9+7 را چاپ کنید.

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

3 
0 10
Plain text

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

6
Plain text

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

3
2 1
Plain text

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

0
Plain text

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

7
8 14
Plain text

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

225
Plain text