Темы --> Информатика --> Язык программирования
    Процедуры и функции(96 задач)
    Массивы(232 задач)
    Типы данных(356 задач)
    Циклы(177 задач)
    Условный оператор (if)(164 задач)
    Python(260 задач)
    Standard Template Library(2 задач)
---> 3 задач <---
Страница: 1 Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Вася готовит инвентарь для ролевой игры. В игре должны принять участие \(n\) игроков, каждый из которых будет изображать персонажа фантастического мира. В процессе игры каждый персонаж будет обладать некоторым уровнем \(x\), который представляет собой целое число от \(1\) до \(m\).

Для обозначения уровня планируется использовать специальные значки двух цветов. Белый значок обозначает один уровень, а красный значок — k уровней. Игрок, изображающий персонажа с уровнем \(x\), должен иметь \(a\) белых значков и \(b\) красных значков, чтобы сумма \((a + bk)\) была равна \(x\). При этом персонажу не разрешается иметь более чем \((k - 1)\) белых значков.

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

Требуется написать программу, которая по заданным числам \(n\), \(m\) и \(k\) вычисляет минимальное количество значков, которое необходимо подготовить для успешного проведения игры.

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

Входной файл содержит расположенные в одной строке три целых числа: \(n\), \(m\) и \(k\) (\(1 \le n \le 10^4\), \(1 \le m \le 10^5\), \(1 \le k \le 10^5\)).

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

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

Примечание

В приведенном примере необходимо подготовить 6 красных и 3 белых значка.

Примеры
Входные данные
3 4 2
Выходные данные
9
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Аня разделила доску размера \(m \times n\) на клетки размера \(1 \times 1\) и раскрасила их в черный и белый цвет в шахматном порядке. Васю заинтересовал вопрос: клеток какого цвета получилось больше — черного или белого.

Для того, чтобы выяснить это, он спросил у Ани, в какой цвет она раскрасила \(j\)-ю клетку в \(i\)-м ряду доски. По этой информации Вася попытался определить, клеток какого цвета на доске больше.

Требуется написать программу, которая по размерам доски и цвету \(j\)-й клетки в \(i\)-м ряду определит, клеток какого цвета на доске больше — черного или белого.

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

Входной файл содержит пять целых чисел: \(m\), \(n\), \(i\), \(j\) и \(c\) (\(1 \le m, n \le 10^9\), \(1 \le i \le m\), \(1 \le j \le n\), \(с = 0\) или \(с = 1\)). Значение \(c = 0\) означает, что \(j\)-я клетка в \(i\)-м ряду доски раскрашена в черный цвет, а значение \(c = 1\) — в белый цвет.

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

Выходной файл должен содержать одно из трех слов:

  • black, если черных клеток на доске больше,
  • white, если белых клеток на доске больше,
  • equal, если черных и белых клеток на доске поровну.

Примечание

Правильные решения для тестов, в которых \(1 \le m, n \le 100\), оцениваются из 50 баллов.

Примеры
Входные данные
3 5 1 1 0
Выходные данные
black
Входные данные
3 5 2 1 0
Выходные данные
white
Входные данные
4 4 1 1 1
Выходные данные
equal
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Победитель школьного этапа олимпиады по информатике нашел дома в старых бумагах результаты чемпионата страны по стрельбе из лука, в котором участвовал его папа. К сожалению, листок с результатами сильно пострадал от времени, и разобрать фамилии участников было невозможно. Остались только набранные каждым участником очки, причем расположились они в том порядке, в котором участники чемпионата выполняли стрельбу.

Расспросив папу, школьник выяснил, что количество очков, которое набрал папа, заканчивается на 5, один из победителей чемпионата стрелял раньше, а папин друг, который стрелял сразу после папы, набрал меньше очков. Теперь он заинтересовался, какое самое высокое место мог занять его папа на том чемпионате.

Будем считать, что участник соревнования занял \(k\)-е место, если ровно \((k - 1)\) участников чемпионата набрали строго больше очков, чем он. При этом победителями считались все участники чемпионата, занявшие первое место.

Требуется написать программу, которая по заданным результатам чемпионата определяет, какое самое высокое место на чемпионате мог занять папа победителя школьного этапа олимпиады по информатике.

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

Первая строка входного файла содержит целое число \(n\) — количество участников чемпионата страны по стрельбе (\(3 \le n \le 10^5\)).

Вторая строка входного файла содержит \(n\) положительных целых чисел, каждое из которых не превышает 1000, — очки участников чемпионата, приведенные в том порядке, в котором они выполняли стрельбу.

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

В выходном файле должно содержаться одно целое число — самое высокое место, которое мог занять папа школьника. Если не существует ни одного участника чемпионата, который удовлетворяет, описанным выше условиям, выведите в выходной файл число 0.

Примечание

Правильные решения для тестов, в которых \(1 \le n \le 1000\), оцениваются из 50 баллов.

Примеры
Входные данные
7
10 20 15 10 30 5 1
Выходные данные
6
Входные данные
3
15 15 10
Выходные данные
1

Страница: 1 Отображать по:
Выбрано
:
Отменить
|
Добавить в контест