Ограничение времени 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, будут набирать не менее
Сегодня я расскажу вам о интересной задаче, связанной с оценками в школе. Давайте вместе разберем пошаговое решение этой задачи.
Итак, в условии задачи нам дано, что у Коли в школе всего n предметов. По k предметам уже поставлены оценки, и их сумма равна s. Теперь Коля должен распределить оставшиеся предметы так, чтобы среднее арифметическое всех четвертных оценок было не меньше 4.
У нас также есть информация о времени, которое Коля должен затратить на получение определенной оценки. Для получения оценки "5" ему необходимо затратить A минут, для получения оценки "4" - B минут, а для получения "3" - C минут.
Наша задача - найти минимальное время (в минутах), которое понадобится Коле, чтобы достичь данной цели. Если достичь цели невозможно, то вывести "-1".
Хорошо, давайте приступим к решению задачи.
1. Сначала нам необходимо получить вводные данные от Коли. Попросим его ввести количество предметов n, количество предметов с оценками k и сумму этих оценок s.
Например, у нас получились следующие значения: n = 5, k = 2, s = 10.
2. Теперь попросим Колю ввести значения времени A, B и C, необходимые для получения оценок.
Например, у нас получились следующие значения: A = 4, B = 3, C = 1.
3. Далее мы должны проверить, возможно ли достичь цели. Если сумма оценок уже выставленных к этому моменту (s) равна 5k, то это означает, что среднее арифметическое оценок уже будет равно 5, и Коля получит компьютер. В этом случае можно сразу вывести значение "0" - Коле не нужно тратить время на получение дополнительных оценок.
4. Если же цель не достижима ни при каких обстоятельствах, то мы должны вывести "-1". Цель будет недостижима, если сумма выставленных оценок (s) и максимальная оценка за невыставленные предметы (5 * (n - k)) дают среднее арифметическое меньше 4. В этом случае выводим "-1".
5. Если же мы дошли до этого пункта, значит, цель все-таки достижима. Теперь мы должны сосчитать, сколько времени Коле понадобится, чтобы получить оценки за оставшиеся предметы. Для этого вводим величину target - это сумма оценок, которую нужно получить, чтобы добиться цели (т.е. среднее арифметическое всех оценок равно 4).
6. Чтобы получить целевую сумму оценок target, нужно знать, сколько "5", "4" и "3" Коля уже получил. Для этого отнимаем от target сумму уже выставленных оценок s.
7. Теперь мы можем сосчитать, сколько времени Коле понадобится на получение оставшихся оценок. Для этого умножаем количество оценок каждого типа (5, 4, 3) на соответствующее им время (A, B, C) и складываем все полученные значения.
8. Выводим полученное значение - это и будет минимальное время, необходимое для достижения цели.
Итак, решение задачи выглядит следующим образом:
1. Считываем значения n, k и s.
2. Считываем значения A, B и C.
3. Если s = 5k, то выводим "0" и завершаем программу.
4. Если s + 5 * (n - k) < 4 * n, то выводим "-1" и завершаем программу.
5. Вычисляем target = 4 * n - s.
6. Вычисляем время = target * A + (n - k - target) * C.
7. Выводим полученное значение время.
Например, если у нас был такой ввод:
5 2 10
4 3 1
То результатом будет значение "5".
А если ввод был таким:
5 3 9
3 2 1
То результатом будет значение "-1".
Итак, дети, в кратце мы рассмотрели, как решить данную задачу. Уверен, что с вашим умом вы сможете справиться с ней легко. Удачи вам в решении!