اصغر پرنده به یک عروسی دعوت شده است. در هنگام شام نوع غذا روی میز قرار دارند که به ترتیب از ۱ تا شماره گذاری شده اند. خانواده داماد که بسیار خسیس هستند از مهمان ها بابت شام پول میگیرند.
تعداد واحد های موجود از غذای ام ، و قیمت هر واحد از آن برابر با است. هربار که یک مهمان بشقابی برمیدارد، باید از غذای شماره ۱ تا غذای شماره حرکت کند و یک واحد از هر غذایی که تمام نشده بود بردارد و در نهایت دلار پول بپردازد. این کار را در صورتی میتوان انجام داد که از غذای ام حداقل یک واحد موجود باشد.
اصغر گشنه است، قیمت دلار بالا رفته و جمع پول هایی که در جیب و جورابش پنهان کرده روی هم دلار است. او میخواهد این پول را به طوری خرج کند که جمع قیمت غذاهایی که میخورد بیشینه شود. این مقدار بیشینه را به دست آورید.
در خط اول ورودی دو عدد و آمده اند.
در خط دوم، عدد که امین آنها است، و در خط بعدی هم عدد که امینشان برابر با است آمده اند.
خروجی برنامه تنها یک عدد است که برابر با بیشینه مقدار مجموع قیمت غذاهاست.
زیرمسئله | نمره | محدودیت |
---|---|---|
۱ | ۱۰۰ | بدون محدودیت اضافی |
ابتدا از غذای ۱ تا ۶ میرویم و در طول راه از غذاهای نوع ۱، ۲، ۴، ۵ و ۶ هرکدام یک واحد برمیداریم (از غذای نوع ۳ نمیتوان برداشت چون تعدادش ۰ است).
در مرحله بعد از غذای ۱ تا ۴ میرویم غذا های نوع ۲ و ۴ را برمیداریم.
در مرحله اول ۲ دلار و در مرحله دوم ۵ دلار هزینه کرده ایم که از پولمان که برابر با ۸ است کمتر است.
مجموع قیمت غذاها در مرحله اول برابر با ۲۳ و در مرحله دوم برابر با ۷ است.