حل تمرین مربّاها و مشکلات اقتصادی کوئرا با پایتون
در این نوشته به روش حل یکی از سوالات ریاضیات برنامه نویسی وبسایت کوئرا میپردازیم.
حل تمرین مربّاها و مشکلات اقتصادی کوئرا با پایتون
چند روز پیش بود که مشکلات اقتصادی گریبانگیر مربّاها هم شد. مربّاها که موجودات مهربونی هستند، تصمیم گرفتند که دنبال راه حل بگردند. پس یک جلسه تشکیل دادند و در جلسه این موضوع را بررسی کردند. مربّاها در نهایت به این نتیجه رسیدند که اصلیترین نیاز آنها شیشه است. مربّاها به محض این که متوجه این موضوع شدند تصمیم گرفتند که مصرف شیشهشان را تا جای ممکن پایین بیاورند، اما مشکل اصلی این است که وقتی مربّاها شیشههایشان را میبینند هول میشوند و هر کدام به صورت تصادفی یک شیشه را که هنوز برایش جا دارد را انتخاب میکند و وارد همان شیشه میشود. به محض این که یک شیشه پر شود یا هیچ مربّایی بدون شیشه نماند، در شیشه بسته میشود. اگر بعد از بسته شدن در همهی شیشهها مربّایی بیرون مانده باشد، آن مربّا از صمیم قلب ناراحت میشود. مربّاها هم چون همانطور که گفتیم موجودات مهربونی هستند، نمیخواهند که هیچ مربّایی ناراحت شود. در ابتدا در شیشه i ام، ai تا مربّا قرار دارد. شما باید به مربّاها کمک کنید که تا جای ممکن در مصرف شیشه صرفهجویی کنند. برای این کار شما میتوانید وارد اتاق مربّاها بشوید وبه آنها بگویید که تعدادی شیشه را داخل کمد بگذارند که در روز مبادا بتوانند از شیشهها استفاده کنند. مقداری که شما به مربّاها میگویید باید بیشترین مقداری شود که هیچ مربّایی ناراحت نشود.
ورودی
در خط اول ورودی به ترتیب که نشان دهنده تعداد شیشههای مربّای داخل اتاق و که نشان دهنده ظرفیت هر شیشه است، داده میشود. در خط دوم ورودی n عدد داده میشود که عدد i ام، ai است که نشان دهنده مقدار مربّایی است که وقتی وارد اتاق میشوید، در شیشهی i ام هست.
همچنین در هیچ شیشهای در ورودی، بیش از ظرفیتش مربّا نیست.
خروجی
در تنها خط خروجی، بیشینه تعداد شیشهای را که مربّاها میتوانند بدون ناراحت شدن کنار بگذارند را پیدا کنید.
مثال
ورودی نمونه 1
5 4 3 4 1 2 2
خروجی نمونه 1
2
ورودی نمونه 2
3 8 8 8 8
خروجی نمونه 2
0
کد پایتون سوال تمرین مربّاها و مشکلات اقتصادی
n, k = map(int, input().split()) a = list(map(int, input().split())) total_jams = sum(a) required_jars = (total_jams + k - 1) // k result = n - required_jars print(max(result, 0))
منبع سوال: کوئرا
اگر نیاز به حل تمرینهای دیگری از کوئرا دارید در بخش نظرات همین نوشته برای ما بنویسید.
ارسال پاسخ