Муниципальный этап ВсОШ по информатике, 9-11 классы, Московская область, 2020
Statement is not available in English language
A. Подготовка к олимпиаде
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

В будний день Вася решает $$$X$$$ задач, в выходной день — $$$Y$$$ задач.

Выходным Вася считает каждый $$$K$$$-й день, то есть дни с номерами $$$K$$$, $$$2K$$$, $$$3K$$$, $$$\dots$$$ являются выходными.

Вася будет готовиться к олимпиаде ровно $$$N$$$ дней и он хочет заранее знать, сколько всего задач он решит. Считается, что Вася решает задачи, начиная с дня с номером 1.

Требуется написать программу, которая по данным $$$N$$$, $$$K$$$, $$$X$$$, $$$Y$$$ вычисляет количество решённых задач.

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

В первой строке вводится натуральное число $$$N$$$ ($$$1 \leqslant N \leqslant 1000$$$) - количество дней, которое Вася будет решать задачи для подготовки к олимпиаде.

Во второй строке вводится натуральное число $$$K$$$ ($$$1 \leqslant K \leqslant 1000$$$) - номер первого выходного дня.

В третьей строке вводится натуральное число $$$X$$$ ($$$1 \leqslant X \leqslant 1000$$$) - количество задач, которое Вася решает в будний день.

В четвёртой строке вводится натуральное число $$$Y$$$ ($$$1 \leqslant Y \leqslant 1000$$$) - количество задач, которое Вася решает в выходной день.

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

Выведите единственное целое число — суммарное количество решённых задач.

Пример
Входные данные
3
2
10
15
Выходные данные
35
Примечание

В примере в первый и третий день Вася решит по 10 задач. Во второй день он решит 15 задач.

Statement is not available in English language
B. Святослав и копировальный центр
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Эта задача с открытыми тестами. Ее решением является набор ответов, а не программа на языке программирования. Тесты указаны в самом условии, от вас требуется лишь ввести ответы на них в тестирующую систему.

Святослав — известный писатель, и за свою жизнь он написал не один роман, причём в каждом романе было нечётное число страниц.

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

В копировальном центре Святослав может взять в аренду принтеры. Всего есть $$$N$$$ принтеров. Известно, что принтер с номером $$$i$$$ может напечатать $$$2^{i - 1}$$$ страниц в час.

Аренда каждого из принтеров стоит одинаково — ровно 1 рубль в час. У Святослава есть только $$$X$$$ рублей, и он хочет напечатать как можно больше страниц своего романа за оставшийся час. Святослав печатает любую страницу романа ровно в одном экземпляре. При этом количество напечатанных страниц, как и в остальных романах Святослава, должно быть нечётным.

Например, если в копировальном центре 4 принтера, а у Святослава 2 рубля, то максимальное нечётное число страниц, которое он сможет напечатать – 9. Для этого ему нужно запустить печать на 1-м и на 4-м принтере.

Входные данные
  • Тест №1:  $$$N = 3, X = 2$$$;
  • Тест №2:  $$$N = 5, X = 3$$$;
  • Тест №3:  $$$N = 10, X = 5$$$;
  • Тест №4:  $$$N = 15, X = 7$$$;
  • Тест №5:  $$$N = 24, X = 10$$$;
  • Тест №6:  $$$N = 31, X = 15$$$;
  • Тест №7:  $$$N = 38, X = 21$$$;
  • Тест №8:  $$$N = 44, X = 19$$$;
  • Тест №9:  $$$N = 57, X = 41$$$;
  • Тест №10:  $$$N = 63, X = 38$$$;
Выходные данные

Для каждого теста требуется ввести в тестирующую систему одно целое число — максимальное нечетное количество страниц, которое успеет напечатать Святослав.

Statement is not available in English language
C. Эффективные ветрогенераторы
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Альтернативные источники энергии становятся крайне популярными в последнее время. Например, сети из ветрогенераторов являются довольно эффективными и, при этом, не загрязняют окружающую среду.

Ваша сеть состоит из $$$n$$$ ветрогенераторов. Ветрогенераторы с чётными номерами (то есть с номерами 2, 4, 6...) являются высокоэффективными. Они производят одну единицу энергии и во время сильного, и во время слабого ветра. А ветрогенераторы с нечётными номерами (то есть с номерами 1, 3, 5...) являются низкоэффективными и способны производить единицу энергии только во время сильного ветра.

Вам дана история ветров, состоящая из $$$m$$$ событий. Каждое событие можно описать тремя числами: $$$l$$$, $$$r$$$, $$$k$$$. Это означает, что ветер дул на ветрогенераторы с номерами от $$$l$$$ до $$$r$$$ включительно. Причём, $$$k=1$$$ означает, что ветер был сильным, а $$$k=2$$$ означает, что ветер был слабым.

Чтобы оценить эффективность сети, требуется написать программу, сколько энергии в среднем вырабатывал один ветрогенератор за всю историю наблюдений за ветром

Гарантируется, что ответ является целым числом.

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

В первой строке содержатся числа $$$n$$$, $$$m$$$ ($$$1 \leqslant n,m \leqslant 10^5$$$)$$$~-$$$ количество ветрогенераторов в сети и количество событий.

В следующих $$$m$$$ строках содержится описание событий по одному в строке. Каждая строка содержит числа $$$l$$$, $$$r$$$, $$$k$$$ ($$$1 \leqslant l \leqslant r \leqslant n, 1 \leqslant k \leqslant 2$$$).

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

Выведите единственное число$$$~-$$$ среднее количество энергии, выработанное ветрогенератором.

Система оценки

Решения, работающие правильно при $$$n,m \le 1000$$$, будут набирать не менее 30 баллов

Решения, работающие правильно при $$$k=1$$$, будут набирать не менее 30 баллов

Пример
Входные данные
5 3
1 5 1
1 3 2
2 5 1
Выходные данные
2
Примечание

В примере после первого события все пять ветрогенераторов выработают по единице энергии. После второго события только ветрогенератор с номером 2 выработает единицу энергии. После третьего события ветрогенераторы с номерами от 2 до 5 выработают по единице энергии.

Statement is not available in English language
D. Уроки музыки
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Лена учится играть на пианино. У нее есть $$$n$$$ композиций, упорядоченных по возрастанию сложности. Для каждой композиции Лена знает время, которое ей потребуется для ее исполнения. Перед тем, как начать учиться, она выбирает целое число $$$L$$$ от 1 до $$$n$$$ включительно и строит свою программу обучения следующим образом: в первый день она играет композиции $$$1,\:2,\:...,\:L$$$, во второй день композиции $$$2,\:3,\:...,\:L+1$$$ и так далее. В день, когда Лена играет последнюю композицию, обучение заканчивается (действительно, она же успешно сыграла самую сложную композицию).

Лена заметила, что от выбора $$$L$$$ время, которое она проведет за исполнением композиций, меняется. Ей стало интересно, сколько времени она проведет за исполнением композиций, если выберет $$$L=1,\:2,\:...,\:n$$$.

Требуется написать программу, которая для каждого $$$L = 1, 2, ..., n$$$ подсчитывает суммарное время, которое Лена потратит на исполнение композиций при заданном $$$L$$$.

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

В первой строке записано число $$$n\:(1 \le n \le 3 \cdot 10^5)$$$ – количество композиций. В следующей строке через пробел записаны $$$n$$$ чисел $$$a_1,\: a_2,\:...,\:a_n\:(1 \le a_i \le 10^7)$$$, где $$$a_i$$$ – время исполнения $$$i$$$-й композиции

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

Выведите $$$n$$$ чисел через пробел – суммарное время для $$$L=1,\:2,\:...,\:n$$$ соответственно.

Система оценки

Решения, работающие правильно при $$$n \le 5$$$, будут набирать не менее 20 баллов

Решения, работающие правильно при $$$n \le 300$$$, будут набирать не менее 35 баллов

Решения, работающие правильно при $$$n \le 10\:000$$$, будут набирать не менее 60 баллов

Примеры
Входные данные
4
1 3 2 4
Выходные данные
10 15 15 10 
Входные данные
5
5 1 3 5 4
Выходные данные
18 27 30 27 18 
Примечание

Обращаем ваше внимание на то, что ответ в данной задаче может быть достаточно большим, поэтому рекомендуем использовать 64-битный тип данных. В C++ для этого предусмотрен тип long long, в Pascal – int64.

Так же, давайте разберем первый пример из условия:

При $$$L=1$$$

В первый день Лена потратит 1 минуту

Во второй – 3 минуты

В третий – 2 минуты

И в четвертый – 4 минуты

Итого 1+3+2+4=10 минут

При $$$L=2$$$

В первый день Лена потратит 1+3=4 минуты

Во второй – 3+2=5 минут

В третий – 2+4=6 минут и закончит обучение, так как сыграет последнюю композицию

Итого 4+5+6=15 минут

При $$$L=3$$$

В первый день Лена потратит 1+3+2=6 минут

Во второй – 3+2+4=9 минут

Итого 6+9=15 минут

При $$$L=4$$$

В первый и единственный день Лена потратит 1+2+3+4=10 минут