Ограничение времени 1 секунда Ограничение памяти 256Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt
Папа пообещал Коле купить новый компьютер, если среднее арифметическое всех четвертных оценок будет не меньше 4. Всего в школе у него n предметов, по k предметам учителя уже поставили оценки, сумма оценок которые уже выставили s. Коля должен распределить нагрузку на все остальные предметы. Чтобы получить по любому из оставшихся предметов оценку "5" - ему необходимо затратить A минут, чтобы получить оценку "4" - B минут, чтобы получить "3" - C минут, оценку меньше "3" получать нельзя. Так как Коля занят исправлением оценок, поэтому он попросил вас узнать минимальное время для достижения данной цели.
Время для оценок, которые уже выставлены, учитывать не надо. Если достичь цели невозможно, то выведите "-1".
Формат ввода
В первой строке указано 3 числа через пробел n, k и s - количество предметов в школе (1 ≤ n ≤ 105), количество предметов по которым уже выставленны оценки (0 ≤ k ≤ n) и сумма оценок по предметам, которые уже выставлены (3k ≤ s ≤ 5k). Во второй строке через пробел указано 3 числа из условия A, B и C (0 ≤ C ≤ B ≤ A ≤ 104).
Формат вывода
В единственной строке выходных данных выведите целое число - ответ на вопрос задачи.
Пример 1
Ввод
5 2 10
4 3 1
Вывод
5
Пример 2
Ввод
5 3 9
3 2 1
Вывод
-1
Примечания
Система оценки: каждый тест оценивается независимо. Правильно работающие решения при n ≤ 5, будут набирать не менее правильно работающие решения при n ≤ 15, будут набирать не менее
А)
program c1;
var
a, b: integer;
c: real;
begin
a := 2;
b := 3;
c := a + 1 / 3;
write(c);
end.
Б)
program c2;
var
a, b: integer;
c: real;
begin
a := 2;
b := 3;
c := a + 4 / 2 * 3 + 6;
write(c);
end.
В)
program c3;
var
a, b: integer;
c: real;
begin
a := 2;
b := 3;
c := a + 4 / 2 * 3;
write(c);
end.
Объяснение:
А)
program c1; // Название программы
var // Раздел для описания переменных
a, b: integer; // Объявление целочисленных переменных
c: real; // Объявление вещественной переменной
begin // Начало программы
a := 2; // a = 2
b := 3; // b = 3
c := a + 1 / 3; // c = a + 1 ÷ 3
write(c); // Выводим ответ
end. // Конец программы
Б)
program c2; // Название программы
var // Раздел для описания переменных
a, b: integer; // Объявление целочисленных переменных
c: real; // Объявление вещественной переменной
begin // Начало программы
a := 2; // a = 2
b := 3; // b = 3
c := a + 4 / 2 * 3 + 6; // c = a + 4 ÷ 2 × 3 + 6
write(c); // Выводим ответ
end. // Конец программы
В)
program c3; // Название программы
var // Раздел для описания переменных
a, b: integer; // Объявление целочисленных переменных
c: real; // Объявление вещественной переменной
begin // Начало программы
a := 2; // a = 2
b := 3; // b = 3
c := a + 4 / 2 * 3; // c = a + 4 ÷ 2 × 3
write(c); // Выводим ответ
end. // Конец программы
abs(−16) = 16
sqr(b) = 256
sqr(b + b) = 1024
Объяснение:
program x1; // Название программы
var // Раздел для описания переменных
a, b, c: integer; // Объявление целочисленных переменных:
a - хранение первого введенного с клавиатуры числа;
b - хранение второго введенного с клавиатуры числа;
с - хранение максимального из них.
begin // Начало программы
a := -16; // Присваиваем значение "-16" в переменную а
b := abs(a); // Присваиваем модуль числа а в переменную b
writeln('abs(−16)=', b); // Выводим в консоль
c := sqr(b); // Присваиваем квадрат числа b в переменную c
writeln('sqr(b)=', c); // Выводим в консоль
c := sqr(b + b); // Присваиваем квадрат числа b + b в переменную c
writeln('sqr(b+b)=', c); // Выводим в консоль
end. // Конец программы