На найбільшому факультеті навчається mx = max(g, s, h, r) студентів. Якщо спробувати рівномірно розподілити їх по аудиторіях, то в якійсь з них виявиться не менше \left\lceil mx / m \right\rceil студентів. Саме така мінімальна кількість студентів одного факультету доведеться посадити в одну аудиторію навіть при оптимальній розсадці.
Реалізація алгоритму
Читаємо вхідні дані.
scanf("%d %d %d %d", &g, &s, &h, &r);
scanf("%d", &m);Вираховуємо mx = max(g, s, h, r).
mx = g;
if (s > mx) mx = s;
if (h > mx) mx = h;
if (r > mx) mx = r;Визначимо максимальну кількість студентів, яка може виявитися в одній аудиторії: res = \left\lceil mx / m \right\rceil.
res = mx / m;
if (mx % m > 0) res++;Виводимо відповідь.
printf("%d\n", res);Java реалізація
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int g = con.nextInt();
int s = con.nextInt();
int h = con.nextInt();
int r = con.nextInt();
int m = con.nextInt();
int mx = g;
if (s > mx) mx = s;
if (h > mx) mx = h;
if (r > mx) mx = r;
int res = mx / m;
if (mx % m > 0) res++;
System.out.println(res);
con.close();
}
}Python реалізація
Читаємо вхідні дані.
a = list(map(int, input().split()))
m = int(input())Вираховуємо і виводимо відповідь.
print((max(a) - 1) // m + 1)