---> 9 задач <---
    2009(8 задач)
    2010(8 задач)
    2011(8 задач)
    2012(8 задач)
    2013(8 задач)
    2014(8 задач)
    2015(8 задач)
    2016(8 задач)
    2017(8 задач)
    Московская областная олимпиада(13 задач)
    Кировская открытая областная олимпиада(21 задач)
    Санкт-Петербург(3 задач)
Страница: << 1 2 Отображать по:
ограничение по времени на тест
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

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

Кондиционер может работать в следующих четырех режимах:

  • «freeze» — охлаждение. В этом режиме кондиционер может только уменьшать температуру. Если температура в комнате и так не больше желаемой, то он выключается.
  • «heat» — нагрев. В этом режиме кондиционер может только увеличивать температуру. Если температура в комнате и так не меньше желаемой, то он выключается.
  • «auto» — автоматический режим. В этом режиме кондиционер может как увеличивать, так и уменьшать температуру в комнате до желаемой.
  • «fan» — вентиляция. В этом режиме кондиционер осуществляет только вентиляцию воздуха и не изменяет температуру в комнате.

Кондиционер достаточно мощный, поэтому при настройке на правильный режим работы он за час доводит температуру в комнате до желаемой.

Требуется написать программу, которая по заданной температуре в комнате troom, установленным на кондиционере желаемой температуре tcond и режиму работы определяет температуру, которая установится в комнате через час.

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

Первая строка входного файла содержит два целых числа troom, и tcond, разделенных ровно одним пробелом (–50  troom  50, –50  tcond  50).

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

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

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

Примечание

В первом примере кондиционер находится в режиме нагрева. Через час он нагреет комнату до желаемой температуры в 20 градусов.

Во втором примере кондиционер находится в режиме охлаждения. Поскольку температура в комнате ниже, чем желаемая, кондиционер самостоятельно выключается и температура в комнате не поменяется.

Примеры
Входные данные
10 20
heat
Выходные данные
20
Входные данные
10 20
freeze
Выходные данные
10
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Юный математик Матвей интересуется теорией вероятностей, и по этой причине у него всегда есть с собой несколько стандартных шестигранных игральных кубиков. Стандартный шестигранный кубик имеет три противолежащих пары граней, которые размечены таким образом, что напротив грани с числом 1 находится грань с числом 6, напротив грани с числом 2 — грань с числом 5 и напротив грани с числом 3 — грань с числом 4.

Анализируя различные игры с шестигранными кубиками, Матвей придумал новую игру. В эту игру играют два игрока, и проходит она следующим образом: первый игрок бросает один или несколько стандартных кубиков (количество кубиков он определяет сам). После этого первому игроку начисляется количество очков, равное сумме чисел, оказавшихся на верхних гранях всех кубиков, а второму игроку — сумма чисел, оказавшихся на нижних гранях этих кубиков. Побеждает тот, кто набрал больше очков.

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

Матвей рассказал об этой игре своему другу, юному информатику Фоме, и они начали играть в неё через Интернет. Поскольку Фома не видит результат броска и не знает, сколько кубиков бросает Матвей как первый игрок, то о набранных каждым игроком очках он узнает только от Матвея. Чтобы проверить достоверность этой информации, Фома решил узнать, какое минимальное и максимальное количество очков мог получить он, как второй игрок, если известно, сколько очков набрал Матвей.

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

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

Первая строка входного файла содержит целое положительное число \(n\) — количество очков, которые получил первый игрок (\(1 \leq n \leq 10^{10}\)).

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

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

Система оценивания

Правильные решения для тестов, в которых 1 ≤ n ≤ 1000, будут оцениваться из 50 баллов.

Примеры
Входные данные
2
Выходные данные
5 12
Входные данные
36
Выходные данные
6 216

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