Петя и Вася строят каждый свою башню из кубиков одинакового размера, устанавливая один кубик на другой. Две их башни стоят рядом, поэтому при построении башен друзья мешают друг другу. К некоторому моменту времени Петя построил башню высотой X кубиков, а Вася – высотой Y кубиков (X >Y). Чтобы дальше не мешать друг другу, ребята договорились строить башни по очереди. Одну минуту – Вася, одну минуту – Петя и так далее. Начинает строить Вася. Он за минуту укладывает A кубиков, а Петя – B кубиков (A>B). Через сколько минут башня Пети перестанет быть выше башни Васи?
Входные данные
Четыре целых числа, записанные через пробел X, Y, A, B (1<= X, Y, A, B <=10^9)
Написать код на C++
cpp
#include <iostream>
#include <cmath>
int main() {
int X, Y, A, B;
std::cin >> X >> Y >> A >> B;
// Вычисляем разницу в высоте между башнями Пети и Васи
int diff = X - Y;
// Проверяем, если текущая разница в высоте уже меньше или равна нулю,
// то башня Пети уже не выше башни Васи
if (diff <= 0) {
std::cout << "0" << std::endl;
return 0;
}
// Вычисляем количество минут, через которые башня Пети перестанет быть выше башни Васи
int minutes = std::ceil(diff / static_cast<double>(A - B));
std::cout << minutes << std::endl;
return 0;
}
В этом коде мы используем `std::ceil` для округления количества минут до ближайшего целого значения. Мы также используем `static_cast<double>(A - B)` для преобразования разности (A - B) в вещественное число, чтобы результат деления был с плавающей запятой и точность округления была лучше.
Программа считывает четыре целых числа `X`, `Y`, `A` и `B` с помощью `std::cin`. Затем она вычисляет количество минут, после чего башня Пети перестанет быть выше башни Васи, и выводит результат с помощью `std::cout`.
Пример входных данных и соответствующего вывода:
Входные данные:
5 2 3 1
Выходные данные:
2
В этом примере X = 5, Y = 2, A = 3 и B = 1. Разница в высоте между башнями Пети и Васи равна diff = 5 - 2 = 3. Каждую минуту diff уменьшается на (3 - 1) = 2 кубика. Поэтому через две минуты diff = 3 - 2 * 2 = 3 - 4 = -1, и башня Пети перестанет быть выше башни Васи. Количество минут, через которое это произойдет, равно 2.Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет
Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет