printРабочее место участника

printЗадачи

1528. Ролевая игра

Ограничения: время – 2s/4s, память – 256MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Вася готовит инвентарь для ролевой игры. В игре должны принять участие `n` игроков, каждый из которых будет изображать персонажа фантастического мира. В процессе игры каждый персонаж будет обладать некоторым уровнем `x`, который представляет собой целое число от 1 до `m`.
Для обозначения уровня планируется использовать специальные значки двух цветов. Белый значок обозначает один уровень, а красный значок — `k` уровней. Игрок, изображающий персонажа с уровнем `x`, должен иметь `a` белых значков и `b` красных значков, чтобы сумма `(a\ +\ "bk")` была равна `x`. При этом персонажу не разрешается иметь более чем `(k\ –\ 1)` белых значков.
Значки для игры готовятся заранее, однако уровни персонажей заранее неизвестны. Для успешного проведения игры всем персонажам необходимо выдать соответствующее их уровням количество значков. Возникает вопрос: какое минимальное суммарное количество значков необходимо подготовить для успешного проведения игры при любых уровнях участвующих персонажей.
Требуется написать программу, которая по заданным числам `n`, `m` и `k` вычисляет минимальное количество значков, которое необходимо подготовить для успешного проведения игры.
Формат входного файла
Входной файл содержит расположенные в одной строке три целых числа: `n`, `m` и `k` (`1\ ≤\ n\ ≤\ 10^4`, `1\ ≤\ m\ ≤\ 10^5`, `1\ ≤\ k\ ≤\ 10^5`).
Формат выходного файла
В выходном файле должно содержаться одно целое число — минимальное количество значков, которое требуется подготовить.

Пример ввода

3 4 2

Пример вывода

9
Пояснения к примеру
В приведенном примере необходимо подготовить 6 красных и 3 белых значка.
Источник: региональный этап Всероссийской олимпиады по информатике 2010/2011, http://neerc.ifmo.ru/school/
loading