Автор: | А. Усманов | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt | |||
Максимальный балл: | 100 |
Клуб программистов еженедельно проводит тренировки для всех желающих. Каждая тренировка завершается поеданием вкусной пиццы.
На одной из таких тренировок пицца разделена на N различных по размеру кусочков. Но разделена не полностью — все кусочки всё ещё соединены расплавленным сыром. В связи с этим, чтобы взять какой-то кусочек, нужно отрезать его от соседей. Так как пицца имеет форму круга, у каждого из кусочков есть ровно два соседа.
Участники тренировки выстраиваются в очередь за пиццей в порядке занятых мест. Так как интенсивное программирование пробуждает аппетит, каждый участник берёт кусочек пиццы наибольшего размера из всех оставшихся. Если наибольший кусочек всё еще соединён со своими соседями, участник отрезает его.
Леонид — очень талантливый программист, поэтому он может занять на тренировке любое место, какое пожелает. Леонид также очень ленив, поэтому он не хочет самостоятельно отрезать себе пиццу.
Помогите Леониду понять, какой наибольший кусочек пиццы он может получить, чтобы ему не пришлось отрезать этот кусочек от соседних.
Входной файл содержит целое число N — количество кусочков, на которые разделена пицца.
Далее следует N различных целых чисел ai — размеры кусочков пиццы, перечисленные в порядке обхода по кругу.
Выходной файл должен содержать единственное целое число — размер наибольшего кусочка пиццы, который может достаться Леониду.
1 ≤ N ≤ 105
1 ≤ ai ≤ 109
Баллы за каждую подзадачу начисляются только в случае, если все тесты этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | Необходимые подзадачи |
---|---|---|---|
n | |||
1 | 21 | 1 ≤ n ≤ 3 | |
2 | 31 | 1 ≤ n ≤ 103 | 1 |
3 | 48 | 1 ≤ n ≤ 105 | 1, 2 |
По запросу сообщается результат окончательной проверки на каждом тесте.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | А. Кленин | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt | |||
Максимальный балл: | 100 |
В школьной столовой на завтрак раздавали яблоки. Каждому школьнику должно было достаться по одному яблоку, но трём из них удалось незаметно набрать в карманы a1, a2 и a3 яблок соответственно.
Убежав из столовой в коридор, школьники собрались делить добычу поровну. Поскольку перекладывание яблок между карманами выглядит подозрительно, школьники хотят, чтобы только один из них передал минимально возможное количество яблок другому.
Например, если у первого школьника 2 яблока, у второго — 3, а у третьего — 4, то третий школьник может передать первому одно яблоко, и тогда у каждого из них будет по 3 яблока.
Напишите программу, которая по количеству яблок у каждого школьника определит, который из них кому и сколько яблок должен передать.
Входной файл содержит целые числа a1 a2 a3.
Выходной файл должен содержать целые положительные числа x y z — номер школьника, который отдаёт яблоки, номер школьника, которому отдаёт яблоки школьник x, и количество яблок.
Если у школьников уже одинаковое количество яблок, выведите единственное число 0.
Если решения не существует, выведите единственное число − 1.
1 ≤ ai ≤ 1000; 1 ≤ x, y ≤ 3
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | А. Кленин | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt | |||
Максимальный балл: | 100 |
Юный топограф Вася тренируется в рисовании карт местности. Вася отметил на карте вокруг своей школы четыре точки A, B, C, D, образующие выпуклый четырёхугольник, и тщательно измерил расстояния AC, AD, BC и BD. Измерить расстояние CD ему помешало здание школы.
Напишите программу, принимающую на вход измеренные Васей расстояния, и вычисляющую минимальную и максимальную возможную длину отрезка CD. Все расстояния измеряются в целых сантиметрах.
Входной файл содержит целые числа AC AD BC BD.
Выходной файл должен содержать два целых числа — минимальное и максимальное возможные расстояния CD. Если подходящих целочисленных значений расстояния CD не существует, выведите единственное число − 1.
1 ≤ AC, AD, BC, BD ≤ 109
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | А. Кленин | Ограничение времени: | 1 сек | |
Входной файл: | input.txt | Ограничение памяти: | 256 Мб | |
Выходной файл: | output.txt | |||
Максимальный балл: | 100 |
Юный программист Вася придумал собственный язык программирования "Крейзик". Васе всегда не нравились правила вычисления арифметических выражений, поэтому он решил, что в Крейзике все арифметические операции будут выполняться строго слева направо, а скобок не будет вообще.
Кроме того, обычные четыре арифметических действия Вася заменил на четыре своих:
Требуется написать программу, которая будет вычислять выражения согласно правилам языка Крейзик.
В качестве решения принимается как программа, так и текстовый файл, содержащий ответ к задаче в требуемом формате (при его отправке следует выбрать в тестирующей системе среду разработки "Answer text").
Баллы будут начисляться пропорционально количеству правильных ответов в выходном файле. Решение будет полностью проверяться сразу после отправки, и участникам будут видны набранные за данную задачу баллы.
Первая строка входного файла содержит целое число N — количество выражений. Последующие N строк содержат по одному выражению каждая.
Выходной файл должен содержать N строк — результаты вычисления каждого выражения.
№ | Входной файл (input.txt ) |
Выходной файл (output.txt ) |
---|---|---|
1 |
|
|
Автор: | А. Усманов | Ограничение времени: | 10 сек | |
Ввод / вывод: | интерактивный | Ограничение памяти: | 256 Мб | |
Максимальный балл: | 100 |
Данная задача является интерактивной.
После просмотра нескольких документальных фильмов о природе, лесник Шон очень беспокоится о местонахождении деревьев в своём лесу. Дело в том, что в одном из таких фильмов деревья просто так взяли и ушли. Конечно это было необходимо из-за событий, которые происходили в фильме. Но Шон абсолютно уверен, что в реальности такие события не могут случиться по ряду обстоятельств. Поэтому он считает, что у деревьев в его лесу нет никакой уважительной причины, чтобы отлучаться. То есть деревьям нельзя просто так взять и уйти.
В текущий момент у Шона нет никакой информации о том, где растёт каждое из деревьев. Поэтому он не может с полной уверенностью сказать, что деревья в его лесу неподвижны.
Всего в лесу растёт N деревьев. Лес является непрерывным отрезком на прямой от 1 до L. Все деревья растут в разных целочисленных точках.
У Шона есть сканер, который позволяет определить наличие хотя бы одного дерева на каком-то участке леса. К сожалению, заряда сканера хватит только на K сканирований.
Необходимо помочь Шону определить местоположение всех деревьев в лесу. Можно считать, что все сканирования Шон совершает в течение одного дня. За столь короткий промежуток времени рядом с лесом не могло произойти никаких событий, которые заставили бы деревья просто так взять и уйти.
Сначала на вход программе-решению подаётся целое число L — длина леса.
Для каждого теста жюри зафиксировало числа N и K — количество деревьев и максимальное количество запросов на сканирование участка леса. Гарантируется, что K запросов достаточно, чтобы решить задачу. Эти числа не сообщаются программе-решению. Ограничения на N и K в различных подзадачах приведены в таблице системы оценивания. Если решение делает более K запросов к программе жюри, то на этом тесте оно получает в качестве результата тестирования "Wrong answer".
Чтобы сделать запрос программа-решение должна вывести строку вида "? l r", где l и r (1 ≤ l ≤ r ≤ L) — целые числа, крайние левая и правая точка сканируемого участка леса. В ответ на запрос программа жюри подаёт на вход программе-решению либо строку "Yes", либо строку "No", в зависимости от того, есть ли хотя бы одно дерево в запрашиваемом участке.
Если программа-решение определила ответ на задачу, она должна вывести две строки: в первой "ok?", во второй N целых чисел — список точек, в которых растут деревья в порядке возрастания координат. После этого программа-решение должна завершиться.
Гарантируется, что в каждом тесте положение всех деревьев является фиксированным, и не меняется в зависимости от запросов, произведенных программой-решением.
После каждого запроса и вывода ответа необходимо выполнить сброс буфера. Например, в Pascal необходимо написать flush(output), в C++ — cout.flush().
1 ≤ N ≤ 103
1 ≤ L ≤ 109
1 ≤ xi ≤ L
Баллы за каждую подзадачу начисляются только в случае, если все тесты этой подзадачи и необходимых подзадач успешно пройдены.
Подзадача | Баллы | Дополнительные ограничения | Необходимые подзадачи | ||
---|---|---|---|---|---|
N | L | K | |||
1 | 14 | N = 1 | 1 ≤ L ≤ 2500 | K = 100 | |
2 | 12 | N = 1 | 1 ≤ L ≤ 106 | K = 47 | 1 |
3 | 17 | N = 1 | 1 ≤ L ≤ 109 | K = 37 | 1-2 |
4 | 15 | 35 ≤ N ≤ 100 | 35 ≤ L ≤ 103 | K = N2 | |
5 | 11 | 1 ≤ N ≤ 103 | 1 ≤ L ≤ 104 | K = 100 + 100 * N | 1, 4 |
6 | 13 | 1 ≤ N ≤ 103 | 1 ≤ L ≤ 106 | K = 43 * N | 1-2, 4-5 |
7 | 18 | 1 ≤ N ≤ 103 | 1 ≤ L ≤ 109 | K = 33 * N | 1-6 |
По запросу сообщается результат окончательной проверки на каждом тесте.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|