Loading [MathJax]/jax/output/HTML-CSS/jax.js

المپدیا

دانش‌نامه‌ی المپیاد کامپیوتر ایران

ابزار کاربر

ابزار سایت


سوالات المپیاد:متفرقه:سوال های ای سی ام سایت تهران:دوره ی ۱۱:h

Array Game

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

امتیاز بازیکن در ابتدای بازی 0 است. هرگاه عددی مانند I به خانه‌ای که علامت S (+ یا ) در آن است وارد شود، این عدد حذف شده و امتیاز بازیکن به اندازه S×I افزایش می‌یابد.

بازیکن می‌تواند هر وقت که بخواهد به بازی خاتمه دهد.

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

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

ورودی

  • ورودی از چند سناریو تشکیل شده است. در خط اول هر سناریو عدد‌های N(1N100)، تعداد عدد‌های آرایه، Np(1Np100)، تعداد علامت‌های + و Nm(1Nm100)، تعداد علامت‌های آمده است.
  • در هر یک از N خط بعدی دو عدد pi(300pi300) و vi(9vi9) آمده است که به ترتیب نشان‌دهنده مکان عدد i ام و مقدار عدد i ام می‌باشد.
  • در خط بعدی Np عدد آمده که نشان‌دهنده مکان علامت‌های + می‌باشد.
  • در خط بعد از آن نیز Nm عدد آمده که نشان‌دهنده مکان علامت‌های می‌باشد. تمامی مکان‌ها بین 300 و 300 است، همچنین مکان هیچ دو عنصری (علامت‌ها و عدد‌ها) با هم برابر نیست.
  • ورودی با خطی شامل سه عدد 0 تمام می‌شود.

خروجی

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

محدودیت‌ها

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

ورودی و خروجی نمونه

ورودی نمونه خروجی نمونه
3 2 1
0 2
6 -1
3 5
5 9
1
1 1 1
10 5
3
7
0 0 0
3
0

پاسخ

منتظر پر کردن این قسمت توسط علاقمندان هستیم.


ابزار صفحه