المپدیا

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

ابزار کاربر

ابزار سایت


سوالات المپیاد:دوره ی تابستان:دوره ی ۱۹:عملی:سوال ۵

Books

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

هر کتاب یک مکعب مستطیل با طول ‎۱۰‎ و عرض یک است. او کتاب‌ها را طوری روی هم می‌چیند که به جز پایین‌ترین کتاب، بقیه کتاب‌ها روی دقیقاً یکی دیگر از کتاب‌ها قرار بگیرد. او در ذهنش یک چینش از کتاب‌هایش در نظر دارد و می‌خواهد قبل از اینکه آن را بسازد، مطمئن شود که چینش مورد نظرش پایدار است. او بعد از کلی تحقیق فهمید که برای فهمیدن پایداری، نیاز به مفهوم مرکز ثقل دارد. مرکز ثقل یک مجموعه از کتاب‌ها یک عدد است که برابر میانگین مختصه‌ی ‎$x$‎ ِ وسط همه‌ی آن‌ها است. (مرکز ثقل یک کتاب مختصه‌ی ‎$x$‎ ِ وسط آن است)

نکته‌ی مهمی که او در تحقیقاتش به آن پی‌برد این بود که یک کتاب در لحظه‌ی اولیه ‎($t=0$)‎ در حالت پایدار است اگر مرکز ثقل مجموعه‌ی آن کتاب و کتاب‌های رویش و کتاب‌های روی آن‌ها تا هر ارتفاعی، در محدوده‌ی طولی کتاب زیرش باشد (اگر دقیقاً روی لبه‌ی کتاب زیری باشد باز هم در حالت پایدار است)

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

ورودی

  • در سطر اول یک عدد طبیعی ‎$1 \leq n \leq 20000$‎ به نشانه‌ی تعداد کتاب‌ها آمده است.
  • در ‎$n‎ - ‎1$‎ سطر بعدی مشخصات کتاب‌های دوم تا ‎$n$‎ام آمده است. (مشخصات کتاب اول مهم نیست و در ورودی نیامده است)
  • مشخصات کتاب ‎$i$‎ام در ورودی، یک جفت عدد ‎$d_i$‎ و ‎$p_i$‎ است که ‎$p_i$‎ عددی طبیعی و شماره‌ی کتاب زیرین کتاب ‎$i$‎ام است ‎($p_i < i$)‎ و ‎$d_i$‎ میزان جابجایی کتاب ‎$i$‎ام نسبت به کتاب زیرین آن است ‎($-9 \leq d_i \leq 9$)‎

خروجی

اگر هیچ کتاب ناپایداری وجود ندارد در یک سطر در خروجی بنویسید ‎STABLE‎. در غیر این‌صورت از بین شماره‌های کتاب‌های ناپایدار، کوچک‌ترین شماره را در خروجی بنویسید.

به نکات زیر توجه کنید:

  • ورودی‌های برنامه اعداد صحیح هستند. سعی کنید طوری برنامه‌تان را بنویسید که از متغیرهای حقیقی (‎double‎ و ‎float‎) استفاده نکنید. (مقایسه‌ی متغیرهای حقیقی دردسرساز است). به جای متغیرهای حقیقی سعی کنید از متغیرهای صحیح استفاده کنید.
  • بررسی پایداری کتاب‌ها فقط در لحظه‌ی ‎$t = 0$‎ و قبل از هرگونه حرکت کتابها صورت می‌گیرد.
  • در نوشتن ‎STABLE‎ در خروجی مواظب باشید همه‌ی حروف بزرگ باشند.
  • برای گرفتن نمره باید حتماً به یکی از تست‌هایی که جواب آن ‎STABLE‎ نیست، جواب صحیح بدهید.
  • اگر جواب تمام تست‌هایی که برنامه‌تان می‌گیرد فقط ‎STABLE‎ باشد، نمره‌تان صفر می‌شود.

محدودیت‌ها

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

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

ورودی نمونه خروجی نمونه
8‎
1 6‎
2‎ -‎2‎
1‎ -‎7‎
4 0‎
5 0‎
6 4‎
‎7 4
7


ابزار صفحه