У новому навчальному році для занять у
комп’ютерних класах Солонянського освітнього округу було сформовано декілька
груп учнів. Відразу ж перед керівництвом школи постало питання: як оптимально
розподілити групи по класах? У школі є декілька (більше, ніж груп) комп’ютерних
класів, у кожному з яких є певна кількість комп’ютерів. Для проведення занять
необхідно, щоб у кожного учня був комп’ютер, а також ще хоча б один комп’ютер
був для викладача. Переносити комп’ютери із одного класу в інший не можна.
Складіть програму, яка визначає, яку максимальну
кількість груп вдасться одночасно розподілити по класах, щоб усім учням у
кожній групі вистачило комп’ютерів, а при цьому залишався ще хоча б один для
викладача.
Ідея розв’язання. Інформацію про кількість учнів у
кожній групі та про кількість комп’ютерів у кожному класі доцільно зберігати у
масивах. Впорядкувати обидва масиви, порівнюючи їх значення, але змінюючи
індекси. Після цього «жадібно» розподілити групи по класах: а аудиторію із
найбільшою кількістю комп’ютерів направити найбільшу кількість учнів, яку можна
розмістити за умовою задачі.
У першому рядку файлу input.txt містяться два числа: кількість груп та кількість комп’ютерних класів. У другому рядку міститься кількість учнів у кожній із груп. У третьому рядку міститься кількість комп’ютерів у кожному із класів.
input.txt | output.txt | komput.pas |