Олимпиадный тренинг

Задача . A. Получи два нуля


Вам заданы два числа \(x\) и \(y\). Вы можете выполнять операции двух типов:

  1. Заплатить \(a\) долларов и увеличить либо уменьшить любое из чисел на \(1\). Например, если \(x = 0\) и \(y = 7\) возможны четыре варианта после такой операции:
    • \(x = 0\), \(y = 6\);
    • \(x = 0\), \(y = 8\);
    • \(x = -1\), \(y = 7\);
    • \(x = 1\), \(y = 7\).

  2. Заплатить \(b\) долларов и увеличить либо уменьшить оба числа на \(1\). Например, если \(x = 0\) и \(y = 7\) возможны два варианта после такой операции:
    • \(x = -1\), \(y = 6\);
    • \(x = 1\), \(y = 8\).

Ваша задача сделать оба числа равными нулю одновременно, т.е. достичь состояния \(x = y = 0\). Других каких-либо требований нет. В частности, переход из \(x=1\), \(y=0\) в \(x=y=0\) допустим.

Посчитайте минимально количество долларов, которое вам нужно потратить для этого.

Входные данные

Первая строка содержит целое число \(t\) (\(1 \le t \le 100\)) — количество наборов входных данных.

Первая строка каждого набора входных данных содержит два числа \(x\) и \(y\) (\(0 \le x, y \le 10^9\)).

Вторая строка каждого набора входных данных содержит два числа \(a\) и \(b\) (\(1 \le a, b \le 10^9\)).

Выходные данные

На каждый набор входных данных выведите ответ — минимальное количество долларов, которое придется потратить.

Примечание

В первом наборе входных данных вы можете применить следующие операции: первую, вторую и первую. Таким образом, вы потратите \(391 + 555 + 391 = 1337\) долларов.

Во втором наборе входных данных оба числа равны нулю изначально, а значит вам не нужно ничего тратить.


Примеры
Входные данныеВыходные данные
1 2
1 3
391 555
0 0
9 4
1337
0

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя