Проблема в задаче

170
11 января 2018, 22:35

Условие задачи:

Во время нового года особым спросом пользуются разноцветные елочные шарики. В 2018 году алхимия дошла аж до того, что для создания необходимого елочного шарика достаточно взять пару-тройку магических кристаллов разных цветов и немного пошаманить.

Грише требуется получить несколько шариков желтого, зеленого и синего цветов. Достоверно известно, что для получения одного желтого шарика требуются два магических кристалла желтого цвета, зеленого — один желтый и один синий, а для синего — три кристалла синего цвета.

На настоящий момент Гриша располагает A кристаллами желтого цвета и B кристаллами синего цвета. Определите, сколько кристаллов ему требуется дополнительно приобрести, чтобы суметь создать необходимое число шариков. Входные данные

В первой строке заданы числа A и B (0 ≤ A, B ≤ 10^9) — количество имеющихся у Гриши желтых и синих кристаллов.

Во второй строке следуют три числа x, y, z (0 ≤ x, y, z ≤ 10^9) — необходимое число елочных шариков желтого, зеленого и синего цветов. Выходные данные

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

Вроде бы просто, да? Так и есть. Только одна проблема: в третьем примере вывода у меня почему-то выскакивает отрицательное значение, хоть и равное по модулю необходимому. В чем проблема? Скрин и код прилагается.

#include <iostream>
using namespace std;
int main()
{
    int zhel, zel, sin, zhelt, siniy, nuzhnzhel, nuzhnsin, all;
    cin >> zhelt >> siniy >> zhel >> zel >> sin;
    nuzhnzhel = zhel * 2 + zel - zhelt;
    nuzhnsin = sin * 3 + zel - siniy;
    all = nuzhnzhel + nuzhnsin;
    cout << all;
}

Answer 1

Не вписываются значения в диапазон int... Возьмите, например, long long.

READ ALSO
как создать односвязный список [требует правки]

как создать односвязный список [требует правки]

можно пример как создается односвязный линейный список?

186
сортировка односвязного списка 3

сортировка односвязного списка 3

Реализован линейный односвязный списокКак его можно отсортировать вставками? Как реализовать функцию void Sort()? Например нужно в обратном...

192
Как изменить указатель на объект? - С++

Как изменить указатель на объект? - С++

Я создаю 2 объекта разных классов, и указатель на какой-либо объектhttp://snap

165
Ошибка:Segmentation fault (core dumped): как можно исправить (Shared Memory) C++

Ошибка:Segmentation fault (core dumped): как можно исправить (Shared Memory) C++

Ошибка слишком проста - Вы пытаетесь обращаться к объекту, который не создали

219