Співбесіди#12339

Співбесіди

1 секунда
256 мегабайтів
Легка

Є кандидатів, які подають заявки на приєднання до MathModel Labs, компанії, що проводить конкурси з програмування, стрес-тести та підозріло оптимізовані рішення.

MathModel Labs хоче найняти точно нових членів.

Є інтерв'юерів. Кожен інтерв'юер може відвідати не більше співбесід на день. Кожна співбесіда проводиться з точно одним кандидатом і вимагає присутності точно різних інтерв'юерів.

Для кожного набору вхідних даних визначте мінімальну кількість днів, необхідних для найму всіх кандидатів, або виведіть , якщо це неможливо. УВАГА !! : Це дуже важливо, ви повинні вирішити цю задачу за допомогою бінарного пошуку по відповіді, інакше MathModel припинить координацію через вас! І в майбутньому не буде жодних розваг і конкурсів!!!

Наприклад, для p=5, x=2, y=1, z=1 потрібно принаймні дні. Один оптимальний графік виглядає так:

  1. День :

    1. Інтерв'юер проводить співбесіду з Кандидатом .

    2. Інтерв'юер проводить співбесіду з Кандидатом .

  2. День :

    1. Інтерв'юер проводить співбесіду з Кандидатом .

    2. Інтерв'юер проводить співбесіду з Кандидатом .

  3. День :

    1. Інтерв'юер проводить співбесіду з Кандидатом .

Вхідні дані

Перший рядок містить одне ціле число (1 \le t \le 10^4) — кількість наборів вхідних даних.

Кожен набір вхідних даних складається з одного рядка, що містить чотири цілі числа p, x, y, z (1 \le p,x,y,z \le 10^9) — кількість кандидатів, які подають заявки до MathModel Labs, кількість інтерв'юерів, максимальна кількість співбесід, які може відвідати один інтерв'юер за день, і кількість інтерв'юерів, необхідних для співбесіди з одним кандидатом.

Вихідні дані

Виведіть мінімальну кількість днів, необхідних для проведення співбесід з усіма кандидатами, або виведіть , якщо це неможливо.

Приклади

Приклад 1

Loading
Loading

Примітка

У першому наборі вхідних даних процес може відбуватися наступним чином лише в День :

  1. Інтерв'юери та проводять співбесіду з Кандидатом .

  2. Інтерв'юери та проводять співбесіду з Кандидатом .

  3. Інтерв'юери та проводять співбесіду з Кандидатом .

Ця організація передбачає двох інтерв'юерів на зустріч, одного кандидата та максимальну кількість двох співбесід на день для інтерв'юера.

У другому наборі вхідних даних кожен інтерв'юер може відвідати співбесіди з загалом кандидатами, тому процес найму завершується за днів.

У третьому наборі вхідних даних кожен інтерв'юер може відвідати співбесіди з загалом кандидатом, тому процес найму завершується за днів.

У четвертому наборі вхідних даних кожен інтерв'юер може відвідати співбесіди на день, і кожна співбесіда вимагає інтерв'юерів. Один дійсний графік виглядає так:

  1. День : всі інтерв'юери проводять співбесіду з Кандидатом , потім всі інтерв'юери проводять співбесіду з Кандидатом .

  2. День : всі інтерв'юери проводять співбесіду з Кандидатом , потім всі інтерв'юери проводять співбесіду з Кандидатом .

  3. День : всі інтерв'юери проводять співбесіду з Кандидатом , потім всі інтерв'юери проводять співбесіду з Кандидатом .

Отже, для завершення потрібно днів.

У п'ятому наборі вхідних даних можна показати, що неможливо провести співбесіди з усіма кандидатами.

Оцінювання

  1. Підзадача ( балів) : (1 \le p,x,y,z \le 10)

  2. Підзадача ( балів) : (y=1)

  3. Підзадача ( балів) : Без додаткових обмежень