Hoqvartsda Olimpiada#4857

Hoqvartsda Olimpiada (Həll təhlili)

Ən böyük fakültədə mx = max(g, s, h, r) tələbə təhsil alır. Əgər onları sinfə bərabər şəkildə yerləşdirmək üçün cəhd edilsə, o zaman hansısa sinifdə azı \left\lceil mx / m \right\rceil tələbə olacaq. Məhz bu qədər tələbəni bir sinifə yerləşdirmək lazımdır, hətta ən optimal yerləşdirmə ilə də.

Alqoritmin həyata keçirilməsi

Daxil olunan məlumatları oxuyuruq.

scanf("%d %d %d %d", &g, &s, &h, &r);
scanf("%d", &m);

mx = max(g, s, h, r) hesablayırıq.

mx = g;
if (s > mx) mx = s;
if (h > mx) mx = h;
if (r > mx) mx = r;

Bir sinifdə ola biləcək ən çox tələbə sayını müəyyən edək: res = \left\lceil mx / m \right\rceil.

res = mx / m;
if (mx % m > 0) res++;

Cavabı çıxarırıq.

printf("%d\n", res);

Java reallaşdırılması

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 reallaşdırılması

Daxil olunan məlumatları oxuyuruq.

a = list(map(int, input().split()))
m = int(input())

Cavabı hesablayır və çıxarırıq.

print((max(a) - 1) // m + 1)