Editorial for 2160: Мрія


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.
Submitting an official solution before solving the problem yourself is a bannable offence.

Автор, розробник, автор розбору: Iлля Пермяков

Через ~y~ рокiв без продовження контракту Алiса матиме ~n+s·y~ гривень. Якщо цих грошей достатньо для придбання сумки, то вiдповiдь - 0.

Iнакше, нехай Алiсi потрiбно вiдпрацювати ще ~k~ рокiв. Тодi має виконуватись ~n + s·(y + k) ⩾ x~.

Пiсля перенесення: ~s·k ⩾ x-(n + s·y)~. Отже, мiнiмальне значення ~k~ буде дорiвнювати ~⌈(x-(n+s·y))/s ⌉~. Це значення i є вiдповiддю на задачу.

N, X, S, Y = map(int, input().split())
after = N + Y * S
if after >= X:
    print(0)
    exit()
need = X - after
t = (need + S - 1) // S
print(t)

Коментарі

Please read the guidelines before commenting.


Ще немає коментарів.