Автор: | Антон Карабанов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Астролог Тимофей считает год счастливым, если его номер состоит из различных последовательных цифр. Например, ближайший такой год наступит в 2031-м. По номеру года определите, через сколько лет наступит счастливый год?
Единственная строка входных данных содержит натуральное число n — номер года.
Выведите одно неотрицательное целое число — ответ на вопрос задачи.
1 ≤ n ≤ 9876543210
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Пусть имеется набор из n двумерных кирпичей произвольной ширины Wi и единичной высоты.
Из них требуется построить стену шириной L максимально возможной высоты (но не более 5),
задействовав при этом минимально возможное число кирпичей.
Кирпичи укладываются по порядку в несколько слоев.
Каждый слой должен быть заполнен полностью, т.е. пробелы между кирпичами не допускаются.
Переворачивать кирпичи нельзя — все они должны сохранять горизонтальное положение.
Во входных данных указано число n, за которым следует ровно n целых чисел Wi.
Далее записано число L, задающее ширину слоя.
Выходные данные должны содержать последовательность из номеров кирпичей,
расположенных в порядке формирования слоев:
вначале идут кирпичи 1-го слоя,
за ними 2-го и так далее.
При этом полагается, что кирпичи нумеруются,
начиная с нулевого.
0 < Wi ≤ L ≤ 20, 0 < n ≤ 100
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | A. Usmanov | Ограничение времени: | 1 сек | |
Ввод / вывод: | интерактивный | Ограничение памяти: | 256 Мб |
Данная задача является интерактивной. Ваша программа будет взаимодействовать с программой жюри путем отправки и приема сообщений определенного вида.
У жюри есть двумерная матрица N строк на M столбцов заполненная числами, где каждое число может быть либо 1, либо 0. Строки имеют нумерацию с 1 по N сверху вниз, столбцы — с 1 по M слева направо.
Ваша программа может делать запросы вида "? Xi Yi Ai Bi
",
где i — номер запроса,
Xi, Yi — координаты левого верхнего угла прямоугольника, номера строки и столбца соответственно,
а Ai, Bi — размеры сторон прямоугольника, количество строк и столбцов соответственно.
В ответ на запрос программа жюри сообщит о количестве единиц в прямоугольнике из запроса.
Каждый из прямоугольников должен целиком лежать внутри матрицы, то есть должны выполняться следующие неравенства:
1 ≤ Xi, Ai ≤ N и 1 ≤ Yi, Bi ≤ M
Xi + Ai − 1 ≤ N и Yi + Bi − 1 ≤ M
Также имеются ограничения на размеры прямоугольников. Первый прямоугольник должен быть меньше матрицы по каждой из сторон без учета ориентации, а каждый последующий прямоугольник должен быть меньше предыдущего по каждой из сторон без учета ориентации. Более формально должны выполняться следующие неравенства:
min(A1, B1) < min(N, M) и max(A1, B1) < max(N, M)
min(Ai, Bi) < min(Ai − 1, Bi − 1) и max(Ai, Bi) < max(Ai − 1, Bi − 1) для i > 1
Требуется определить количество единиц в матрице, сделав любое количество запросов. Гарантируется, что значения чисел в матрице определены заранее и не зависят от запросов.
В первой строке входных данных записаны целые числа N и M — размеры матрицы.
Чтобы сделать i-й запрос, ваша программа должна вывести "? Xi Yi Ai Bi
",
где Xi, Yi — целые числа, координаты левого верхнего угла прямоугольника, номера строки и столбца соответственно,
а Ai, Bi — целые числа, размеры сторон прямоугольника, количество строк и столбцов соответственно.
После запроса программа жюри отвечает вашей программе целым числом S — количеством единиц в прямоугольнике из запроса.
Когда ваша программа определила ответ на задачу, она должна вывести "! S
",
где S — целое число, количество единиц в матрице.
После вывода ответа программа должна завершиться.
Если ваша программа сделает недопустимый запрос, то она получит вердикт "Presentation error".
Каждый запрос и вывод окончательного результата должен быть одиночной строкой заканчивающейся одиночным переводом строки (\n
).
Буфер вывода необходимо сбрасывать после каждой строки:
Язык | C++ | Pascal | Java | Python |
Код | cout.flush() |
flush(output) |
System.out.flush() |
stdout.flush() |
10 ≤ N, M ≤ 100
0 ≤ S ≤ 104
Матрицы из примеров представлены на картинке.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Ученые Флатландии обнаружили, что вселенная, в которой они живут, топологически подобна поверхности тора.
Это значит, что по каждой из осей координат x и y выполняется условие периодичности с периодом Lx и Ly соответственно.
Иначе говоря, точки с координатами (x + u ⋅ Lx, y + v ⋅ Ly) при любых целых u и v являются тождественными.
В целях научного эксперимента из точки с координатами (0, 0) выпускается луч, заданный вектором D⃗ = (dx, dy).
Требуется определить минимальное расстояние, которое пройдет луч прежде чем попасть в исходную точку.
Результат следует записать в единицах измерения, равных длине вектора D⃗,
т.е. найти наименьшее λ > 0 такое, чтобы при сдвиге на вектор λ ⋅ D⃗ можно было попасть в исходную точку.
Полученное число должно быть представлено в виде несократимой дроби: λ = αβ.
В начале входных данных хранится число n, за которым следует n запросов,
каждый из которых задается набором целых чисел: Lxi, Lyi, dxi и dyi.
Выходные данные должны содержать значения αi и βi,
полученные в ответ на каждый i-й запрос.
1 ≤ (Lxi, Lyi) ≤ 106, − 106 ≤ (dxi, dyi) ≤ 106,
|dxi| + |dyi| > 0,
1 ≤ n ≤ 105.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Антон Карабанов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
В Научно-исследовательском институте, где работает Тимофей, продолжается успешное исследование ряда натуральных чисел. Каждый день его коллеги открывают всё новые и новые свойства этой последовательности, и Тимофей старается от них не отставать. Сегодня Тимофей, как обычно, выписал на доске в ряд натуральные числа от 1 до n и пытается ответить на вопрос, возможно ли стереть в середине списка несколько (не менее одного) чисел, идущих подряд, чтобы сумма оставшихся чисел слева равнялась сумме оставшихся чисел справа?
Единственная строка входных данных содержит натуральное число n.
Выведите в первой строке неотрицательное целое число — количество различных способов стереть числа.
3 ≤ n ≤ 105
В первом примере дано n = 5. Перечислим все способы стереть числа в середине ряда:
Ни в одном из них нужное свойство не достигается.
Во втором примере дано n = 21. Перечислим все хорошие способы стереть числа в середине ряда:
В первом списке сумма чисел слева и справа равны 21, во втором — 78. Всего два способа.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | Антон Карабанов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Флаг Читы представляет собой полотнище прямоугольной формы, разделённое на четыре элемента. Отношение ширины флага к его длине 2:3. В древковой части флага — равнобедренный треугольник жёлтого цвета, который имеет основание равное ширине флага (вертикальный размер полотнища), и высоту, равную половине его длины (горизонтальный размер полотнища). К треугольнику примыкают равновеликие полосы зелёного, белого и красного цветов.
Состав цветов флага отражает цвета герба городского округа «Город Чита», неся традиционное геральдическое значение:
На координатной плоскости нарисовали флаг Читы высотой h так, как показано на рисунке (в первой четверти, левый нижний угол совпадает с началом координат). Определите цвет точки с указанными координатами.
Три строки входного файла содержат три натуральных числа, записанных через пробел: h — высота флага, а также x и y — координаты точки. Гарантируется, что h делится нацело на 12.
Выведите Green
, White
, Red
или Yellow
— ответ на вопрос задачи. Выведите Line
, если точка лежат на границе флага или на линии, разделяющей две или три цветные области.
12 ≤ h ≤ 109
0 ≤ x ≤ 3 × h2
0 ≤ y ≤ h
Смотри рисунок.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Евгений Татаринов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
В классе учится N человек. Для удобства будем нумеровать их от 1 до N.
Однажды учитель по информатике дал очень сложную контрольную работу. Естественно, есть люди, которые ее спишут, а есть люди, которые будут делать ее сами и получат максимальную оценку (в школе K-бальная система оценивания, то есть ученик может получить оценку, которая равна натуральному числу на промежутке от 1 до K). Но если человек с номером U спишет у человека с номером V, и у человека V балл равен X, то у человека U балл будет равен X − 1 (если X = 1, то человек получит оценку 1, так как оценки меньше нет).
На контрольную давалось не очень много времени, из-за этого могло получиться так, что первый ученик списал у второго, второй списал у третьего, ..., T-ый списал у первого. В таком случае у всех школьников оставались пустые листы ответов, а следовательно, они получили оценку 1.
Вам известно, кто у кого списывал. Помогите классу и скажите, кто какую оценку получит!
В первой строке вводятся натуральные числа N и K — количество учеников и число системы оценивания. В следующей строке находится последовательность A из N натуральных чисел, i-ое число означает то, что i-ый школьник списал у Ai-ого.
В единственной строке выведите N чисел, где i-ое число показывает, какую оценку получил i-ый школьник.
1 ≤ K ≤ N ≤ 105, 1 ≤ Ai ≤ N
Первый списал у второго, второй списал у четвертого, четвертый списал у первого. Эти 3 ученика получили оценку 1. Третий сделал работу сам и получил оценку 3, пятый списал работу у третьего и получил 2.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Молодой историк Вася в рамках своей диссертационной работы занимается сопоставлением записей из хранящихся в архиве документов.
Каждый документ охватывает определенный промежуток времени и содержит информацию о произошедших за это время событиях.
Васю интересует, каким образом освещалось одно и то же событие в различных источниках.
Для этого ему каждый раз приходится искать документы, которые могли бы содержать запись об интересующем его событии.
Т.к. таких событий может оказаться слишком много, от Вас требуется написать программу,
которая для некоторого заданного события выполняла бы поиск всех подходящих документов.
В начале входных данных хранится натуральное число N, за которым следует 2 × N целых чисел,
задающих границы временного интервала [Ai, Bi] для каждого из документов.
Далее следует число M и ровно M запросов, содержащих время события Cj.
Выходные данные должны содержать набор ответов на каждый из таких запросов.
Вначале указывается число обнаруженных документов, после чего следуют их номера.
При этом полагается, что нумерация документов начинается с нуля.
Гарантируется, что суммарное число документов на выходе не превосходит 106.
− 106 ≤ Ai ≤ Bi ≤ 106, − 106 ≤ Cj ≤ 106, 1 ≤ N ≤ 2 ⋅ 104, 1 ≤ M ≤ 105
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Матрица фотоаппарата представляет собой прямоугольную таблицу размерности [n × m], состоящую из светочувствительных элементов (ячеек). В момент съемки каждой ячейке такой таблицы ставится в соответствие вещественное значение Xi j, указывающее ее состояние (интенсивность).
Известно, что при считывании состояния отдельно взятой ячейки к нему добавляется взвешенная сумма состояний окружающих ее ячеек, которые формируют упорядоченный набор слоев (см. рисунок). При этом каждый последующий слой имеет в два раза меньшее влияние, чем предыдущий.
Коэффициент влияния каждой такой ячейки на полученное значение равен 1 / (2l ⋅ Nl), где l — номер содержащего ее слоя, Nl — число ячеек в l-м слое.
Также для отдельно взятой модели фотоаппарата известно максимальное число слоев k, оказывающих влияние на результат измерения.
Для заданной матрицы Y, полученной в результате измерений, и радиуса воздействия k требуется восстановить исходные значения Xi j.
Значения фиктивных ячеек (лежащих за пределами матрицы) полагаются равными нулю.
В начале входных данных хранятся три натуральных числа: n, m и k.
Далее следует матрица результатов измерений Y, записанная в строчном формате.
Выходные данные должны содержать восстановленную матрицу X.
Все значения должны быть указаны с точностью до 5-го знака после запятой.
0 ≤ Yi j ≤ 10, 0 < n ⋅ m ≤ 40 000, 0 < k ≤ 6
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Евгений Татаринов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Как-то раз Женя и Анжелика оказались на соревнованиях по метанию копья в качестве зрителей. В соревновании участвовали N спортсменов.
Каждый раз, когда i-ый спортсмен кидал копьё, Женя сообщал Анжелике, на сколько метров кинул копьё данный спортсмен (случайно получилось так, что все числа, которые назвал Женя, были попарно различными). В это время Анжелика записывала на листик, какое место после своего броска займет i-ый спортсмен.
К сожалению, когда соревнование закончилось, Анжелика потеряла листик и очень расстроилась. Но Женя помнит, на сколько метров i-ый спортсмен бросил своё копьё. Помогите ребятам восстановить потерянный листик!
В первой строке вводится натуральное число N — количество спортсменов.
Во второй строке вводится последовательность различных натуральных чисел L, где Li — число, которое показывает, на сколько метров кинул своё копьё i-ый спортсмен.
В единственной строке выведите последовательность из N натуральных чисел, где i-ое число показывает, какое место занимает i-ый спортсмен после своего броска.
1 ≤ N ≤ 105, 1 ≤ Li ≤ 109
Первый спортсмен кинул копье и стал первым в списке. Второй спортсмен кинул копье дальше первого и стал первым в списке. Третий спортсмен кинул дальше первого, но ближе второго, а значит, третий стал вторым в списке. Четвертый спортсмен кинул дальше первого, но ближе второго и третьего, а значит стал третьим в списке.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | И. Блинов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Паулундра участвует в соревнованиях по лазанию на скорость. Это дисциплина скалолазанья, где участники сначала проходят квалификацию, а дальше соревнуются в парных забегах. Во время парного забега действуют следующий правила:
Паулундра победила в квалификации, показав лучшее время, и подглядела стратегию каждого из n участников соревнования. Она знает, что участник с номером i планирует пробежать трассу за ti секунд и знает вероятность в процентах того, что этот участник сорвётся pi. Так же Паулундра знает, что может пробежать трассу за любое время в промежутке от a до b и при этом вероятность срыва при выбранном времени x можно вычислить следующим образом: 1 − x − ab − a.
Помогите Паулундре выбрать оптимальное время xi для каждого соперника так, чтоб вероятность победы Паулундры была максимальной. Если есть несколько вариантов оптимального времени, то следует выбрать то, которое меньше.
Первая строка входных данных содержит два целых числа a и b. Вторая строка содержит одно целое число n. Далее следует n строк содержащих по два целых числа ti и pi.
Выведите n целых чисел xi.
1 ≤ n ≤ 105
1 ≤ a, b, ti ≤ 109
1 ≤ pi ≤ 100
a < b
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Антон Карабанов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
На доске записано натуральное число. Тимофей хочет максимизировать это число, то есть добиться того, чтобы с начала записи шли все девятки, потом — восьмерки, и так далее. За одну операцию он может поменять местами две любые соседние цифры числа. Определите наименьшее количество операций, с помощью которых он сможет осуществить задуманное.
Единственная строка входных данных содержит натуральное число n.
Выведите одно неотрицательное целое число — ответ на вопрос задачи.
1 ≤ n ≤ 10100000.
Исходная строка: 2023.
1) 2032.
2) 2302.
3) 3202.
4) 3220.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | И. Блинов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Слон Пахом - начинающий разработчик. Первая задача Пахома на новом месте работы - это разработка программы для удаления персональных данных из текста, состоящего из букв латинского алфавита, цифр и пробелов.
Персональными данными является два подряд идущих через пробел числа, состоящего из четырёх цифр и шести цифр соответственно (серия и номер паспорта). Их требуется заменить на последовательность символов "#### ******
".
Пахом без проблем справился с этой задачей. Теперь очередь за вами.
Входные данные содержат одну строку S.
Выведите строку S после удаления персональных данных.
1 ≤ |S| ≤ 1000
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|