Автор: | М. Спорышев | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Юная программистка Алиса не любит целое число K.
Алиса хочет узнать количество целых чисел в диапазоне от 1 до N включительно, не делящихся на K.
Входные данные содержат два целых числа N и K.
Выведите единственное целое число — количество целых чисел, не делящихся на K.
2 ≤ N ≤ 109
1 ≤ K ≤ 100
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | М. Спорышев | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Юный программист Вася хочет сделать подарок Алисе на день рождения. Для этого он нашел красивую одномерную лужайку и в N целочисленных координатах xi поставил по ai красивых камней, чтобы потом показать Алисе.
Утром Вася обнаружил, что из-за сильного ветра, который дул ночью то в одну то в другую сторону, некоторые камни укатились в разные стороны. Теперь в M целочисленных координатах yi находится по bi камней.
Тем не менее, относительное положение камней не могло измениться. Т.е. если первый камень находился в координате x1, а второй камень — в координате x2 > x1, то их координаты y будут удовлетворять неравенству y2 ≥ y1. Камни, находившиеся в одинаковых координатах x могут попасть в разные координаты y.
Вася хочет понять, насколько сильно изменилось расположение камней, поэтому он просит вас посчитать, сколько камней точно остались стоять на своих исходных позициях.
Первая строка содержит целое число N.
Следующие N строк содержат по два целых числа, разделенных пробелом — xi, ai, в порядке возрастания xi.
Следующая строка содержит целое число M.
Следующие M строк содержат по два целых числа, разделенных пробелом — yi, bi, в порядке возрастания yi.
The next M lines contain two integers each, separated by a space — yi, bi, in ascending order of yi.
Выведите количество камней, которые остались на своих исходных позициях.
1 ≤ N, M ≤ 105
− 109 ≤ xi, yi ≤ 109
1 ≤ ai, bi ≤ 109
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | И. Блинов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Гусеница длины L ползёт по пересечённой местности. Пересечённую местность можно представить в виде одномерного массива из N клеток с разными высотами. Клетка ai называется спуском, если ai > ai + 1. Клетка ai называется подъёмом, если ai < ai + 1. Изначально гусеница занимает первые L клеток.
Чтобы продвинуться на одну клетку вперёд, гусеница тратит 1 секунду времени. Однако если среди занимаемых ей клеток спусков больше, чем подъёмов, и голова гусеницы находится на спуске, то она моментально продвигается вправо на одну клетку.
Определите, через сколько секунда голова гусеница достигнет последней клетки.
Первая строка входных данных содержит два целых числа L, N. Вторая строка содержит N целых чисел ai.
Выходные данные должны содержать одно целое число — время, через которое гусеница достигнет последней клетки.
1 ≤ ai, N, L ≤ 106, L ≤ N, ai ≠ ai + 1
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | И. Блинов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
В бою сошлись два парусных линейных корабля. Каждый из кораблей имеет длину L метров. Орудия на кораблях расположены через каждый метр и направлены строго перпендикулярно кораблю. Первое орудие расположенно на расстоянии 1 метр от начала корабля. Мощность каждого орудия на первом корабле p1, а на втором p2.
Дуэль линейных кораблей проходит следующим образом: два корабля плывут навстречу друг другу по параллельным траекториям, в определённый момент капитан корабля даёт приказ "огонь" и все орудия на борту корабля стреляют в своём направлении. Два корабля могут выстрелить в любом порядке, в том числе одновременно. Каждый корабль успевает выстрелить ровно один раз. Если в момент выстрела k пушек корабля попадают в корабль противника, то противник получит урон p ⋅ k, где p — текущая огневая мощь орудия стреляющего корабля, и огневая мощь каждого орудия противника снизится на (p ⋅ k)1000.
Капитан первого корабля первого корабля хочет понять, какой максимальный урон его корабль может нанести кораблю противника, при условии, что противник пытается минимизировать нанесённый его кораблю урон.
Первая строка входных данных содержит три числа: L, p1, p2.
Выходные данные должны содержать единственное число — максимальный урон, который может нанести первый корабль, с точностью не менее двух знаков после запятой.
1 ≤ L ≤ 109; 1 ≤ p1, p2 ≤ 107
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | И. Блинов | Ограничение времени: | 5 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Мальчик Петя плохо справляется с произношением английских слов, особенные трудности у него вызывают ударения. Поэтому он решил скачать словарь английских слов с ударениями и написать программу для расстановки ударений в словах на основании данных словаря. Словарь содержит N строк, каждая строка словаря состоит из слова без ударения и того же слова с ударением, разделённых запятой и пробелом.
Словарь имеет ряд особенностей: в слове может быть ровно один основной вариант ударения (обозначается символом '
) и ноль или более дополнительных вариантов ударения (обозначаются символами "
). Петю интересует только основной вариант ударения. Кроме того, в словаре встречаются ошибки, а именно: основное или дополнительное ударение может указывать на согласную букву. При обнаружении ошибки Петя не доверяет словарю и программа должна для этого слова вывести строку NO
.
Гласные буквы: a, e, i, o, u, y. Остальные буквы — согласные.
Ваша программа должна обработать K слов и для каждого слова вывести слово с основным ударением (ударная буква должна быть заглавной) или NO
, если ударение в словаре стоит некорректно или слова нет в словаре.
Первая строка входных данных содержит два целых числа N K. Далее следует N строк, содержащие описание словаря. Следующие K строк содержат слова для расстановки ударений.
Выходные данные должны содержать K строк — слова с ударениями или NO
.
1 ≤ N, K ≤ 500
Сумма длин всех строк на превосходит 4 ⋅ 104.
Все строки состоят из маленьких латинских букв и следующих символов: ,
'
"
.
Гарантируется, что в каждом слове есть ровно одно основное ударение и все символы, обозначающие ударения, стоят строго после ударных букв.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Пусть имеется последовательность символов S, состоящая из цифр и строчных букв латинского алфавита.
Требуется выделить подпоследовательность наибольшей длины, состоящую из одинаковых символов, расположенных с фиксированным шагом (то есть в равноотстоящих позициях).
Если решений несколько, среди них следует выбрать любую подпоследовательность с максимальным шагом.
Входные данные содержат единственную строку S.
Выходные данные должны содержать два целых числа: индекс начальной позиции и шаг. Позиции нумеруются с нуля.
Если последовательность состоит из одного элемента, в качестве шага указывается 0.
0 < |S| ≤ 5000
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Baranov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Ученые Флатландии изучают различные геометрические фигуры. Однако в силу ограниченности своего восприятия они вынуждены работать с одномерными проекциями реальных объектов. Чтобы упростить себе жизнь, они изобрели устройство, позволяющее с разных ракурсов отснять интересующий их объект. Для дальнейших исследований им понадобилось написать программу, которая могла бы восстановить двумерную фигуру на основе полученных снимков.
Пусть имеется некоторый выпуклый многоугольник, вложенный в прямоугольник ABCD со сторонами параллельными осям координат (см. рисунок). Обозначим за PAB, PBC, PCD и PDA серию фотоснимков, представляющих собой множества вершин исходного многоугольника, которые могут быть спроецированы на соответствующие ребра прямоугольника. Помимо этого будем считать, что существует ровно одна промаркированная вершина, отмеченная на каждом из содержащих ее снимков.
Требуется по заданному набору снимков с отмеченной на них маркерной вершиной восстановить координаты вершин исходного многоугольника, где в качестве начала координат принимается точка A.
Во входных данных построчно хранятся множества PAB, PBC, PCD и PDA, записанные в следующем виде. Вначале идет число вершин N, попадающих в текущее множество. За ними следует ровно N целых чисел — проекции указанных вершин на соответствующее ребро. Далее следует индекс маркерной вершины, под которым она фигурирует в текущем множестве, или − 1, если она в нем не содержится.
Вершины в пределах отдельно взятого снимка пронумерованы с нуля в порядке их обхода по часовой стрелке.
Выходные данные должны содержать координаты вершин исходного многоугольника, расположенные в порядке их обхода по часовой стрелке, начиная от промаркированной вершины.
Гарантируется, что исходный многоугольник невырожден (т.е. имеет ненулевую площадь), и никакие две его вершины не совпадают между собой.
Число вершин многоугольника не превосходит 2 ⋅ 105, а их координаты лежат в диапазоне от 0 до 109.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Shchurov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Назовем трёхмерное тело квадратновыпуклым, если всякий параллельный координатным осям отрезок, концы которого принадлежат телу, полностью лежит в этом теле.
Вам дано изображение квадратновыпуклого тела в трех проекциях. Необходимо вычислить площадь поверхности тела. В случае, если проекции не определяют форму тела однозначно, выведите площадь такого тела, объем которого максимален.
Входные данные содержат три проекции тела, изображенные ASCII графикой: вид сверху, спереди и справа.
Каждая проекция состоит из символов ".
" (ASCII 46) — обозначение
пустот в описании проекции, и "#
" (ASCII 35) — грани квадратновыпуклого тела. Длина ребра блока, представленного каждым символом, равна 1.
Гарантируется, что в
описании проекции нет строк и столбцов, полностью состоящих из пустот.
Описание каждой проекции завершается символом "-
" (ASCII 45) в отдельной строке.
Выходные данные должны содержать одно целое число: площадь поверхности.
Ширина и высота каждой проекции не превосходит 100 символов, а объем тела не равен нулю.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | М. Спорышев | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Юный программист Вася живёт на острове и каждый день обедает в кафе около своего дома. Являясь постоянным посетителем, Вася хочет поучаствовать в бонусной программе данного кафе. Прежде чем это сделать, он хочет оценить выгоду, которую мог бы получить, если бы пользовался бонусами последние N дней.
В i-й день Вася тратил на обед в кафе ai монет. По условиям программы, он мог либо накопить ⌊ 0.01 ⋅ ai⌋ от суммы обеда в виде бонусов, либо оплатить до ⌊ 0.5 ⋅ ai⌋ бонусами, которые у него есть.
Помогите Васе узнать, какую максимальную сумму денег он мог бы сэкономить, пользуясь бонусами в течение N дней.
Первая строка содержит целое число N — количество дней.
Вторая строка содержит N целых чисел ai, разделенных пробелом — количество монет, которые тратил Вася на обед в i-й день.
Выведите единственное целое число — количество монет, которые Вася мог бы сэкономить пользуясь бонусной программой.
1 ≤ N ≤ 103
1 ≤ ai ≤ 104
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | A. Shchurov | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 512 Мб | |
Выходной файл: | Стандартный выход |
Назовем трёхмерное тело квадратновыпуклым, если всякий параллельный координатным осям отрезок, концы которого принадлежат телу, полностью лежит в этом теле.
Вам дано изображение квадратновыпуклого тела в трех проекциях. Необходимо вычислить объем тела. В случае, если проекции не определяют форму тела однозначно, выведите максимально возможный объем.
Входные данные содержат три проекции тела, изображенные ASCII графикой: вид сверху, спереди и справа.
Каждая проекция состоит из символов ".
" (ASCII 46) — обозначение
пустот в описании проекции, и "#
" (ASCII 35) — грани квадратновыпуклого тела. Длина ребра блока, представленного каждым символом, равна 1.
Гарантируется, что в
описании проекции нет строк и столбцов, полностью состоящих из пустот.
Описание каждой проекции завершается символом "-
" (ASCII 45) в отдельной строке.
Выходные данные должны содержать одно целое число: объем тела.
Ширина и высота каждой проекции не превосходит 100 символов, а объем тела не равен нулю.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|