i известно groups[i] = [p, t]: в ней t учеников, и экзамен сдадут ровно p из них. Доля сдавших в группе равна p / t.
Есть ещё helpers новых отличников — каждый точно сдаст экзамен в той группе, куда его запишут (и увеличит в ней и число учеников, и число сдавших на 1). Распределите всех отличников по группам так, чтобы среднее арифметическое долей сдавших по всем группам стало как можно больше, и верните это среднее.
Ответ принимается, если он отличается от точного не больше чем на 10⁻⁵.groups=[[1, 3], [4, 4]], helpers=1 → 0.75
Во второй группе и так сдают все, поэтому отличника отправляем в первую: (2/4 + 4/4) / 2 = 0.75.
groups=[[2, 5], [1, 2]], helpers=2 → 0.5833333333333333
Выгоднее всего по одному в каждую группу: (3/6 + 2/3) / 2 ≈ 0.58333. Оба в первую дают ≈ 0.53571, оба во вторую — 0.575.
groups=[[1, 3], [4, 4]], helpers=1
0.75
«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 101 тест на сервере, включая скрытые.