Муниципальный этап ВсОШ по информатике, Москва, 2021
1. Подарки
ограничение по времени на тест
0.5 секунд
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

В новогодний сладкий подарок нужно положить ровно $$$N$$$ конфет. На складе хранятся конфеты, собранные по одной штуке и по три штуки в одной упаковке. Всего имеется $$$A$$$ упаковок по одной конфете и $$$B$$$ упаковок по три конфеты. Определите, какое наибольшее число подарков можно собрать из имеющихся конфет, если упаковки из трёх конфет нельзя вскрывать и разделять на отдельные конфеты.

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

Первая строка входных данных содержит целое положительное число $$$N$$$ — количество конфет в одном подарке. Вторая строка входных данных содержит целое неотрицательное число $$$A$$$ — количество упаковок из одной конфеты. Третья строка содержит целое неотрицательное число $$$B$$$ — количество упаковок из трёх конфет.

Чиcло $$$N$$$ и общее число конфет на складе не превосходят $$$2\times10^9$$$.

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

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

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

Решения, правильно работающие, когда входные числа не превосходят 100, будут оцениваться в 60 баллов.

Пример
Входные данные
4
8
2
Выходные данные
3
Примечание

В примере из условия на складе имеются 8 упаковок из одной конфеты и 2 упаковки из трёх конфет. В один подарок необходимо положить 4 конфеты. Два подарка можно собрать, используя 1 упаковку из одной конфеты и 1 упаковку из трёх конфет. Ещё один подарок можно собрать из 4 упаковок из одной конфеты. Всего было использовано 6 упаковок из одной конфеты и 2 упаковки из трёх конфет, осталось 2 упаковки из одной конфеты, которых не хватит на дополнительный подарок.

2. Пробежка
ограничение по времени на тест
0.5 секунд
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Выходя на пробежку Рита берёт с собой телефон для прослушивания музыки и беспроводные наушники. Перед каждой пробежкой Рита заряжает наушники, и этой зарядки хватает на $$$A$$$ минут прослушивания музыки. Рита решила, что каждый день она будет тренироваться на минуту дольше, чем в предыдущий день. То есть если в первый день Рита бегала и слушала музыку в течение $$$B$$$ минут, во второй день она будет бегать $$$B+1$$$ минуту, в третий день — $$$B+2$$$ минуты и т.д.

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

Определите, в какой день Рите впервые не хватит заряда для прослушивания музыки во время всей пробежки.

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

Первая строка входных данных содержит целое число $$$A$$$ ($$$1\le A\le 10^9$$$) — величина ежедневного заряда аккумулятора (в минутах прослушивания музыки). Вторая строка входных данных содержит целое число $$$B$$$ ($$$1\le B\le 10^9$$$) — продолжительность пробежки в первый день.

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

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

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

Решения, правильно работающие, когда входные числа не превосходят 100, будут оцениваться в 60 баллов.

Пример
Входные данные
42
40
Выходные данные
6
Примечание

В примере из условия величина ежедневного заряда наушников составляет 42 минуты, а продолжительность пробежки составляет 40 минут. В первый день в наушниках останется лишний заряд на 2 минуты. Во второй день продолжительность пробежки составит 41 минуту, поэтому образуется ещё одна дополнительная минута заряда наушников, всего 3 минуты. В третий день продолжительность пробежки будет равна величине заряда, в четвёртый день продолжительность пробежки будет на 1 минуту больше заряда, а в пятый день — на 2 минуты больше. Поэтому за четвёртый и пятый день будет истрачен весь накопленный за предыдущие дни заряд, и на шестой день заряда наушников не хватит на всю пробежку.

3. Лес
ограничение по времени на тест
0.5 секунд
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Миша заблудился в лесу и пытается выйти из него. Он проходит $$$A$$$ шагов на север, затем $$$B$$$ шагов на восток, затем $$$C$$$ шагов на юг, $$$D$$$ шагов на запад, после чего повторяет свои действия (снова $$$A$$$ шагов на север, $$$B$$$ шагов на восток, $$$C$$$ шагов на юг, $$$D$$$ шагов на запад и т.д.).

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

Определите, сколько шагов Миша сделает, прежде чем выйдет из леса (впервые окажется на границе леса).

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

Первые четыре строки входных данных содержат по одному целому положительному числу $$$A$$$, $$$B$$$, $$$C$$$, $$$D$$$ — количество шагов, которое Миша делает на север, восток, юг, запад. Пятая строка входных данных содержит целое число $$$K$$$ — расстояние от начального расположения Миши до четырёх сторон квадрата (границ леса). Все входные числа не превосходят $$$10^9$$$.

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

Программа должна вывести одно целое число — количество шагов, которое Миша сделает до выхода из леса. Гарантируется, что входные данные таковы, что Миша когда-нибудь выйдет из леса.

Обратите внимание, что значение ответа может быть больше, чем возможное значение 32-битной целочисленной переменной, поэтому необходимо использовать 64-битные целочисленные типы данных (тип int64 в языке Pascal, тип long long в C и C++, тип long в Java и C#).

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

Решения, правильно работающие, когда входные числа не превосходят 100, будут оцениваться в 32 балла.

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

На рисунке изображён пример из условия. Миша делает 1 шаг на север (вверх), 1 шаг на восток (вправо), 2 шага на юг (вниз), 3 шага на запад (влево). От начального расположения Миши до стороны квадрата — 3 шага. Первоначальное расположение Миши и точка выхода из леса обозначены синими кругами. Путь Миши обозначен жёлтой линией. Миша пройдёт 13 шагов, прежде чем впервые окажется на границе леса.

4. Сериал
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Помогите Даше найти три подходящие серии для просмотра.

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

В первой строке входных данных записано единственное целое число $$$N$$$ — количество серий ($$$3 \le N \le 10^5$$$).

В каждой из следующих $$$N$$$ строк записано по одному целому числу — год, в который происходят события очередной серии (каждый год является целым числом от $$$1$$$ до $$$10^9$$$ включительно).

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

Программа должна вывести три целых числа $$$i$$$, $$$j$$$, $$$k$$$ ($$$1 \le i \lt j \lt k \le N$$$) — номера искомых трех серий. Серии нумеруются числами от 1 до $$$N$$$. Если ответов несколько, выведите любой из них. Если ответа не существует, выведите одно число ноль.

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

Решения, правильно работающие, когда $$$N\le100$$$, будут оцениваться в 30 баллов.

Решения, правильно работающие, когда $$$N\le2000$$$, будут оцениваться в 60 баллов.

Примеры
Входные данные
4
1985
2000
1990
2005
Выходные данные
1 2 4
Входные данные
4
2000
2000
2001
2001
Выходные данные
0
Примечание

В первом примере нужно выбрать серии 1, 2, 4, действие которых происходит в 1985, 2000 и 2005 годах соответственно.

Во втором примере выбрать три серии, удовлетворяющие условиям задачи, нельзя.

5. Длинный плакат
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

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

В первой строке входных данных записано целое число $$$N$$$, записанное на изначальном длинном плакате. Гарантируется, что в $$$N$$$ не менее двух и не более $$$200\,000$$$ цифр ($$$10 \leq N \lt 10^{200\,000}$$$).

Во второй строке содержится целое число $$$K$$$ — количество цифр, которые необходимо вырезать из плаката. Гарантируется, что $$$K$$$ не меньше одного и строго меньше количества цифр числа $$$N$$$ ($$$1 \leq K,\; 10^{K} \leq N$$$).

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

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

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

Решения, верно работающие для $$$N \lt 10^9$$$, будут оцениваться в 30 баллов.

Решения, верно работающие для $$$N \lt 10^{1\,000}$$$, будут оцениваться в 60 баллов.

Пример
Входные данные
2023
1
Выходные данные
223
Примечание

В примере из условия на плакате записано число 2023, из него нужно вырезать одну цифру. Максимально число, которое можно при этом получить, равно 223.