Yarışmaya ümumilikdə s = \sum_{i=1}^n a_i iştirakçı gəlib. Hər auditoriya kompüter ilə təmin edildiyi üçün, ən azı otaq tələb olunacaq.
Tutaq ki, — bir komandadakı iştirakçıların ən böyük sayıdır (bütün a_i ədədlərinin maksimum dəyəri). Əgər p > ⌈s/m⌉ olsa, o zaman ən azı otaq tələb olunacaq.
Konstruktiv olaraq göstərmək olar ki, həmişə olimpiadanın keçirilməsi üçün max(⌈s/m⌉, p) auditoriya kifayətdir.
Misal
Olimpiadaya 2 + 3 + 4 + 1 + 2 = 12 şagird gəlib. Hər sinif kompüter ilə təmin olunduğuna görə, olimpiadanın keçirilməsi üçün ən azı 12 / 3 = 4 sinif tələb olunur.
Ən böyük iştirakçı sayı üçüncü komandadır — nəfər. Onları fərqli sinifdə bir-bir oturtmaq olar.
Məsələn, iştirakçıların aşağıdakı şəkildə oturması mümkündür:
Alqoritmin təcrübəsi
Giriş məlumatlarını oxuyuruq.
scanf("%d %d",&n,&m);Ümumi iştirakçı sayını və ən böyük komandanın ölçüsünü hesablayırıq.
p = 0;
for (i = 0; i < n; i++)
{
scanf("%d",&x);
s += x;
if (x > p) p = x;
}tavanı olan dəyər res = ⌈s/m⌉ kimi (s + m - 1) / m hesablanır.
res = (s + m - 1) / m;Əgər p > ⌈s/m⌉ olsa, cavab olacaq.
if (res < p) res = p;Cavabı çıxışa yazırıq.
printf("%d\n",res);