C/C++

Помощь нужна готовые ответы

Субботник
Вася и Маша участвуют в субботнике и красят стволы деревьев в белый цвет. Деревья растут вдоль улицы через равные промежутки в 1 метр. Одно из деревьев обозначено числом ноль, деревья по одну сторону занумерованы положительными числами 1, 2 и т.д., а в другую — отрицательными -1, -2 и т.д. Ведро с краской для Васи установили возле дерева P, а для Маши — возле дерева Q. Ведра с краской очень тяжелые и Вася с Машей не могут их переставить, поэтому они окунают кисть в ведро и уже с этой кистью идут красить дерево. Краска на кисти из ведра Васи засыхает, когда он удаляется от ведра более чем на V метров, а из ведра Маши — на M метров. Определите, сколько деревьев может быть покрашено.

Формат ввода

В первой строке содержится два целых числа P и V — номер дерева, у которого стоит ведро Васи и на сколько деревьев он может от него удаляться. В второй строке содержится два целых числа Q и M — аналогичные данные для Маши. Все числа целые и по модулю не превосходят 108 .

Формат вывода

Выведите одно число — количество деревьев, которые могут быть покрашены.

Sample Input:

0 7
12 5
Sample Output:

25
 #include  
#include

using namespace std;

int main() {
int p, v, q, m;
cin >> p >> v >> q >> m;
cout
ЮЛ
Юрий Леванов
58 455
Лучший ответ
Евгений Олейниченко спасибо пошло ваш код
Не забудь убрать строки // "текст". Они нужны только для того, чтобы ты понял, что да как.

#include <iostream>
#include <cmath>

using namespace std;

int main() {
int p, v, q, m;
cin >> p >> v >> q >> m;

// Вычисляем, сколько деревьев может покрасить Вася
int left_v = p - v; // Номер первого дерева, которое он не может покрасить
int right_v = p + v; // Номер последнего дерева, которое он может покрасить
int count_v = right_v - left_v - 1; // Количество деревьев, которые он может покрасить

// Вычисляем, сколько деревьев может покрасить Маша
int left_m = q - m; // Номер первого дерева, которое она может покрасить
int right_m = q + m; // Номер последнего дерева, которое она может покрасить
int count_m = right_m - left_m - 1; // Количество деревьев, которые она может покрасить

// Вычисляем количество деревьев, которые могут быть покрашены
int left = min(left_v, left_m);
int right = max(right_v, right_m);
int count = right - left - 1;

// Выводим результат
cout << count << endl;

return 0;
}
Евгений Олейниченко что то ошибка какаято не подходит код
Юрий Леванов Две ошибки в логике, в результате которых твой код даёт заведомо ошибочный ответ.
Евгений Олейниченко что там за ошибка?
Туратбек Топчубаев Я тот старый код запустил у меня всё работает