Müsahibələr#12339

Müsahibələr (Həll təhlili)

Problem Müəllifi:

Hasan Saleh (MathModel)

Hazırlayan:

Hasan Saleh (MathModel)

Redaktə edən:

Hasan Saleh (MathModel)

tester var, hər biri gündə müsahibə apara bilər, və iştirakçı var. Hər bir müsahibə üçün tester və 1 iştirakçının iştirak etməsi tələb olunur. Məqsədimiz gün sayını minimuma endirməkdir, buna görə performansları maksimuma çatdırmalıyıq:

tester müsahibə = ümumi müsahibə.

Gündə maksimum performans \lfloor \frac{xy}{z} \rfloor müsahibədir, çünki biz test edilən fərqli iştirakçıların sayını hesablamaq istəyirik. Biz -yə bölürük və onluq hissəni atmaq üçün floor edirik.

Nəticədə, iştirakçıların sayını maksimum gündəlik performansa bölürük ki, minimum gün sayını əldə edək, və onluq hissə varsa, növbəti günə keçmək üçün edirik:

\min(\text{günlər})=\left \lceil \frac{p}{\left\lfloor \frac{xy}{z} \right\rfloor} \right\rceil

Əgər x<z olarsa, bu mümkün deyil.

from math import *
for _ in range(int(input())):
    p,x,y,z=map(int,input().split())
    if(x<z):print(-1)
    else:
        print(ceil(p/((x*y)//z)))