Автор: | Женя Татаринов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Вениамин — начинающий спортивный программист. Самой первой задачей в его спортивной карьере оказалось сложение чисел. На вход ему давалось натуральное число n, а затем последовательность a длины n, которая состоит из натуральных чисел. Затем Вениамину нужно было найти сумму чисел из последовательности и вывести двоичное представление этой суммы.
Так как Вениамин начинающий программист, он написал максимально кривой код решения данной задачи. Сначала он все числа последовательности a перевел в двоичное представление, а затем складывал двоичные коды чисел как десятичные числа (Вениамин забыл о том, что он больше не работает с десятичными числами), и только потом перевел полученную сумму в двоичный код.
Зная тест, который получил Вениамин на вход, сможете ли Вы сообщить число, которое вывела программа Вениамина?
В первой строке вводится натуральное число n (1 ≤ n ≤ 105). Во второй строке вводится последовательность a из n натуральных чисел (1 ≤ ai ≤ 109).
Выведите ответ на задачу без ведущих нулей.
В первом примере Вениамин вычислял ответ следующим образом:
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Женя Татаринов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Абсолютно все знают, что 2D мир лучше 3D, поэтому в данной задаче Вам нужно будет исправить ошибку режиссёров очередного фильма жанра аниме и перевести тяночку в 2D мир.
В данной задаче есть тяночка и её одежда. Они представлены в виде двух выпуклых многогранников, которые могут между собой пересекаться. К сожалению, для каждого многогранника режиссёры помнят только набор из n точек, каждая из которых имеет координаты (xi, yi, zi), в этих точках находятся все точки, которые являются вершинами многогранника, а также какие-то точки внутри многогранников, некоторые точки могут повторяться (то есть иметь одинаковые координаты). Чтобы перевести тяночку из 3D в 2D, Вам нужно построить проекцию данных многогранников на плоскость, которую Вам сообщат режиссёры (это одна из трех плоскостей: OXY, OYZ или OXZ).
Фильм должен получиться приличным, и поэтому есть необходимое условие цензуры - площадь всей проекции тяночки должна не более чем в два раза превышать площадь проекции тяночки, покрытой одеждой. Точка тяночки считается покрытой одеждой, если она находится внутри проекции одежды.
В первой строке вводятся натуральные числа n1 и n2 - количество вершин многогранника тяночки и многогранника одежды соответственно (4 ≤ n1, n2 ≤ 100).
В следующих n1 строках вводятся натуральные числа xi, yi и zi - координаты i-й вершины (1 ≤ xi, yi, zi ≤ 109). Данные вершины относятся к многограннику тяночки.
В следующих n2 строках вводятся натуральные числа xi, yi и zi - координаты i-й вершины (1 ≤ xi, yi, zi ≤ 109). Данные вершины относятся к многограннику одежды.
В последней строке вводится строка s ∈ {"OXY"; "OYZ"; "OXZ"}, которая показывает, на какую плоскость нужно построить проекцию.
Выведите YES
, если условие цензуры выполняется, или NO
в противном случае.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Женя Татаринов | Ограничение времени: | 2 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Замечали ли Вы когда-нибудь то, что на электронном циферблате цифры 5 и 2 очень сильно похожи? А точнее, что они зеркальны друг другу?
У Жени есть длинный циферблат, на котором светятся n цифр, причем все цифры являются либо пятёркой, либо двойкой. Женя хочет отрезать какую-либо полоску из этого циферблата (то есть выбрать какое-то количество подряд идущих цифр) и подарить ее Анжелике. Анжелика любит во всем красоту, поэтому она хочет получить в подарок такую полоску, которая имеет четную длину и которая симметрична относительно центра. Более формально, полоска s длины 2k Анжелике понравится, если для любого 1 ≤ i ≤ 2k выполняется одно из двух условий:
Помогите Жене! Сообщите, сколькими способами он может отрезать полоску, чтобы подарить ее Анжелике.
В первой строке вводится число n — количество цифр на полоске (1 ≤ n ≤ 5 * 105). В следующей строке вводится n цифр, которые показывают, в каком порядке светятся цифры на циферблате.
Гарантируется непротиворечивость входных данных, то есть во второй строке входных данных каждый символ является либо пятеркой, либо двойкой.
Выведите ответ на задачу.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | Татаринов Женя | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Паша и Артём оказались на планете X, ускорение свободного падения на которой равно g Н/кг. Также ребята нашли огромное количество жидкости, плотность которой равна ρ кг/м3. Гуляя по планете, Артем нашел n камней, масса i-го камня равна mi кг, объем i-го камня равен Vi м3.
Паша захотел взять какие-либо камни и превратить их в один (масса/объем итогового камня равна сумме масс/объемов использованных камней) таким образом, чтобы этот камень плавал в жидкости. Помогите Паше! Сообщите ему максимальную массу камня, которую он может собрать из камней, которые нашел Артем.
В первой строке вводятся натуральные числа n, g и ρ (1 ≤ n ≤ 1000, 1 ≤ g, ρ ≤ 10000).
В следующих n строках вводятся натуральные числа mi и Vi (1 ≤ mi, Vi ≤ 100).
Выведите максимальную массу камня, который Паша сможет собрать из маленьких камней при условии, что итоговый камень должен плавать. Если Паша не сможет собрать камень, выведите 0
.
Приведем некоторые факты из курса физики:
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Женя Татаринов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
На экзамен по информатике пришло n участников, пронумерованных от 1 до n. Среди участников некоторые участники были друзьями, а точнее одни участники были авторитетами для других участников. Для i-го участника известны номера участников, которые являются его авторитетами.
Каждый участник экзамена определил условия, когда он точно завершит свой экзамен. Таким образом, i-й участник покинет пункт проведения экзамена в тот момент времени, который произойдет раньше:
Так как экзамен по информатике проводится с использованием компьютерных технологий, то участники олимпиады будут мгновенно завершать выполнение экзамена, если количество авторитетов в аудитории осталось не больше ci человек.
Для каждого участника сообщите, через какое время после начала экзамена он его завершит.
В первой строке вводится натуральное число n — количество участников экзамена (1 ≤ n ≤ 105).
В следующих n строках вводятся данные в следующем формате: первое число i-й строки — количество авторитетов i-го участника (обозначим за mi), остальные mi чисел — номера участников, которые являются авторитетами для i-го участника (0 ≤ mi < n). Участники экзамена не очень сильно знают друг друга, поэтому сумма всех mi не превосходит 2 * 105.
В следующей строке вводится последовательность натуральных чисел t1, t2, ..., tn (1 ≤ ti ≤ 109).
В последней строке вводится последовательность целых чисел c1, c2, ..., cn ( − 1 ≤ ci < mi). Если ci = − 1, то i-й участник будет выполнять задания, не обращая внимания на своих авторитетов.
Выведите n чисел, где i число означает количество минут, через которое i-й участник завершит выполнение экзамена.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Завгороднев А.А. | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
В DNS Ритейл существует n видов товаров, и продавцы-консультанты очень жалуются на их ценообразование, т.к. им часто нужно перепечатывать ценники.
Цена меняется каждый час следующим образом:
Сегодня цены на товары равны 1, 2, 3, 4, … , n денежных единиц.
Продавцы-консультанты уже перестали каждый день удивляться новой странной цене на товары. Но им очень интересно, к чему такая система может привести в будущем, поэтому просят вас о не менее странной просьбе: выяснить сумму цен всех видов товаров в тот же день в тот же час ровно через k веков.
Считается, что в дне 24 часа. В каждом году 365 дней (В DNS ритейл не знают что такое високосные года). Век равен 100 годам.
В единственной строке входных данных находится два числа: n - количество видов товаров и k - количество веков. (1 ≤ n ≤ 50, 1 ≤ k ≤ 5).
Выведите одно число - сумму цен через k веков.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | Завгороднев А.А, Женя Татаринов | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Вам даны n различных функций, i-я функция задана каким-либо многочленом pi(x) степени di. Найдите такие вещественные коэффициенты ki, что график q(x) = k1 p1(x) + k2 p2(x) + ... + kn pn(x) является прямой.
В первой строке вводится натуральное число n - количество функций (2 ≤ n ≤ 300).
В следующих 2n строках вводятся функции в следующем виде: в первой строке вводится число di - степень i-го многочлена (1 ≤ di ≤ 300). В следующей строке вводятся di + 1 вещественных чисел, j-е число равно cij, которое показывает коэффициент перед xj (обратите внимание, что 0 ≤ j ≤ di, а также что − 100 ≤ cij ≤ 100). То есть i-й многочлен имеет вид ci0 * x0 + ci1 * x1 + ... + cidi * xdi.
Если невозможно подобрать коэффициенты таким образом, чтобы график функции q(x) являлся прямой, в единственной строке выходного файла выведите IMPOSSIBLE
. В противном случае в первой строке выведите POSSIBLE
, во второй строке выведите n вещественных чисел, где i-е число равно ki ( − 106 ≤ ki ≤ 106). Ваше решение будет принято, если полученная функция на промежутке [ − 100; 100] отходит от некоторой прямой не более, чем на 10 − 3.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
Автор: | Завгороднев А.А. | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход | Ограничение записи: | 62914560 Б |
Всем известно, что игра DOOM 1993 года написана на языке программирования C. Программист Александр очень любит ставить эту игру на самые необычные и непредназначенные для этого устройства, такие как экран микроволновой печи или домашний электронный градусник.
Однако Александр тот ещё олд и считает, что язык C недостаточно старый, поэтому он решил переписать игру на язык Паскаль.
Сейчас в его игре враги имеют примитивную форму - прямоугольник. А также в игре пока что нет перспективы, то есть невозможно отличить, какие враги находятся дальше, а какие ближе. Александр очень уж не хочет заниматься этим делом, поэтому просит вас начать разработку этой части игры.
Но не бойтесь, всю перспективу писать не придётся, вы тоже не хотите этим заниматься. Для начала надо просто понять, на каком расстоянии находится ближайший враг в каждом пикселе экрана.
В первой строке входных данных задано два числа H и W - высота и ширина экрана в пикселях. (1 ≤ H, W ≤ 2000).
Во второй строке располагается число N - количество врагов на сцене. (0 ≤ N ≤ 500).
В следующих N строках располагается по 5 чисел. Первые четыре числа x1, y1, x2, y2 - концы одной из диагоналей прямоугольника в пикселях. После чего идет число d - расстояние до врага. (1 ≤ x1, x2 ≤ W, 1 ≤ y1, y2 ≤ H, 1 ≤ d ≤ 109).
Каждая из сторон прямоугольников параллельна какой-то стороне экрана.
Враги могут накладываться друг на друга, то есть быть в одной точке на одном расстоянии.
Выведите матрицу A размера H × W, в которой элемент Ai, j равен расстоянию до ближайшего врага в пикселе с координатами (i, j). Если в этом пикселе нет врагов, то выведите 0.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | Завгороднев А.А. | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
На сайте drom.ru есть n объявлений о продаже машин марки Mark II. Цены в объявлениях, конечно, разные, и иногда бывает прямо слишком большой разброс.
Аналитики дрома решили, что надо заняться регулировкой цен. Они придумали стратегию:
Машину могут купить и в самом начале, до какого-либо изменения цен.
В первой строке располагаются два числа n и k — количество объявлений и минимальная цена покупки. (2 ≤ n ≤ 105, 0 ≤ k ≤ 109).
Во второй строке располагаются n чисел ai, где ai — цена в объявлении с номером i. (0 ≤ ai ≤ 109).
Выведите номер объявления, машину с которого купили. Если вдруг таких объявлений несколько, выведите объявление с наименьшим номером. А если таких объявлений вовсе нет, то выведите -1.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | Бадерик П.М. | Ограничение времени: | 1 сек | |
Ввод / вывод: | интерактивный | Ограничение памяти: | 256 Мб |
Farpost — самый популярный классифайд Дальнего Востока, где ежедневно публикуются миллионы объявлений.
Быть в топе на Фарпосте — задача со звёздочкой. Один из факторов, который на это влияет — рейтинг продавца (по оценкам покупателей).
Представим, что вы берёте проект на практике в Фарпосте и хотите помочь продавцам скорректировать их поведение на сайте для достижения высокого рейтинга.
Вам нужно проанализировать рейтинг продавца за последние N дней.
Конечно самое интересное в рейтинге — это что такого может сделать продавец, чтобы изменить тренд своего рейтинга (убывающий тренд превратить в возрастающий и наоборот). Для начала найдите, когда происходит правильное изменение тренда.
Кажется не очень сложным, да?)
Но из-за защиты персональных данных пользователей (в том числе и продавцов) вы не можете напрямую получить рейтинг продавца. Такие данные есть только у наших сотрудников.
Зато у вас есть возможность отправить небольшое количество запросов в систему.
Запросы могут быть только 2 видов:
Чтобы вас не забанили как бота, вы можете отправить не более 90 запросов.
В первой строке входных данных идет целое число N.
В запросе с ответом, позиции экстремумов должны идти по возрастания. Так же обращаю внимание, что номера дней: 0 ≤ ij < N.
Каждый вопрос и вывод ответа должны заканчиваться символом перевода строки, а также необходимо выполнять сброс буфера flush()
i позиция называется правильным разворотом, если hi − 1 > hi < hi + 1 или hi − 1 < hi > hi + 1.
Напоминаем, что биты нумеруются справа налево.
1 ≤ n ≤ 31
− 1017 ≤ hi ≤ 1017
|hi − hi − 1| ≤ 1, где hi - целое число, значение в i день на графике.
Запрос | Ответ | Биты |
---|---|---|
? 97 | 127 | 1111111 |
? 99 | 11 | 0001011 |
? 101 | 0 | 0000000 |
Первый запрос: во все дни рейтинг больше или равен 97.
Второй запрос: только в первый, второй и четвёртый дни рейтинг больше или равен 99.
Третий запрос: во все дни рейтинг меньше чем 101.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
Автор: | Завгороднев А.А. | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
У Максима есть массив a размера n. Назовём подмассив от i до j правильным, если его размер (j − i + 1) равен степени двойки 2k для некоторого k. Максим выбирает какой-то правильный подмассив, на котором он строит дерево отрезков.
Дерево отрезков - это структура данных, которая представляет собой иерархическое дерево.
После этого Максим нумерует вершины дерева следующим образом: У корня будет номер 1, далее у его левого сына номер 2, а у правого номер 3. После этого он нумерует детей вершины номер 2, а потом вершины номер 3. И так далее он проводит эту операцию последовательно по возрастанию номеров вершин.
И уже после нумерации Максим находит его любимое число, характеризующее подмассив - сумму значений в узлах с нечетным номером. Это число Максим называет характеристикой подмассива.
Так как Максим очень любит эти числа, он просит вас найти сумму характеристик всех возможных правильных подмассивов массива a. Так как ответ может быть слишком большим, выведите его по модулю 109 + 7.
В первой строке находится одно целое число n - размер массива. (n ≤ 106).
Во второй строке располагается n чисел - значения массива a.
Выведите одно целое число - сумму характеристик всех возможных правильных подмассивов массива a по модулю 109 + 7.
Всего существует 8 правильных подмассивов:
Итого сумма всех характеристик: (1 + 2 + 3 + 4) + ((3 + 2) + (5 + 3) + (7 + 4)) + (10 + 7 + 2 + 4) = 57.
Дерево отрезков с номерами узлов.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|
2 |
|
|
3 |
|
|
Автор: | Завгороднев А.А. | Ограничение времени: | 1 сек | |
Входной файл: | Стандартный вход | Ограничение памяти: | 256 Мб | |
Выходной файл: | Стандартный выход |
Пётр решил приукрасить свою страницу во ВКонтакте. А именно привести в порядок свои фотографии. Так получилось, что некоторые фотографии у него интересные, а некоторые не очень. И вот Петя решил испробовать методику интересных моментов.
Интересный момент возникает, когда пара интересных фотографий идут друг за другом. То есть, например, трое подряд идущих интересных фотографий создадут 2 интересных момента.
И вот Пётр хочет, чтобы его страница получилась сбалансированной, поэтому просит вас помочь найти количество интересных моментов в его странице, начиная с фотографии номер l до фотографии с номером r.
Пётр ещё в процессе выкладывания фотографий, поэтому иногда он добавляет или удаляет некоторые из них. После каждого из таких его действий нумерация всех фотографий обновляется.
В первой строке входных данных располагается число n — количество уже имеющихся фотографий на странице Петра в ВК. (1 ≤ n ≤ 105).
Во второй строке находится последовательность из n нулей и единиц, в которой если на i-й позиции находится единица, то фотография с номером i интересная. И не интересная, если i-й позиции находится ноль.
Далее располагается число q — количество действий Петра (0 ≤ q ≤ 105).
В следующих q строках находится описание действий Петра:
Гарантируется, что все заданные номера фотографий существуют на странице (за исключением p = − 1, но этот случай описан выше).
Нумерация фотографий начинается с нуля.
Для каждого вопроса Петра через пробел выведите количество интересных моментов на странице, начиная с фотографии l и заканчивая фотографией r включительно.
Сначала страница выглядела так: 0111011
Далее тут (0111011) три интересных момента, между 1 и 2 фото, между 2 и 3 фото и между 5 и 6 фото.
Далее тут 01 (11011) два интересных момента.
После этого страница стала выглядеть так: 01101011.
Далее тут (01101011) два интересных момента.
После этого страница стала выглядеть так: 0110111.
Далее тут 0(110111) три интересных момента.
После этого страница стала выглядеть так: 011111.
Далее тут (011111) 4 интересных момента.
После этого страница стала выглядеть так: 11111.
И тут (11111) также 4 интересных момента.
№ | Стандартный вход | Стандартный выход |
---|---|---|
1 |
|
|