---> 279 задач <---
Источники
    Личные олимпиады(938 задач)
    Командные олимпиады(684 задач)
Страница: << 43 44 45 46 47 48 49 >> Отображать по:
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
512 megabytes

Летом Максим съездил в Летнюю Какую-то Школу, где, помимо учёбы, ему очень запомнилась игра «Шляпа», в которую он вместе с друзьями играл всю смену. Опишем правила игры, которых они придерживались. Обратите внимание: эти правила немного отличаются от общепринятых.

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

Теперь Максим провёл турнир для N команд из своей школы и должен определить победителя. Он неаккуратно вёл записи игры и не отмечал, сколько слов отгадала каждая из команд, зато он записывал в хронологическом порядке каждый раз, когда какая-либо команда доставала какую-либо бумажку из шляпы. Всего таких записей M, и они следуют в хронологическом порядке. Помогите Максиму восстановить по сделанным записям, сколько слов отгадала каждая из команд.

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

В первой строке дано количество команд N и количество попыток отгадать слова M (1 ≤ N ≤ 100 000, 1 ≤ M ≤ 100 000). В следующих M строках сначала указывается номер ni команды, пытавшейся отгадать слово, а через пробел дано слово wi, написанное на бумажке. Номера команд лежат в диапазоне от 1 до N. Все слова wi состоят из строчных латинских букв и имеют ненулевую длину, не превосходящую 10 букв.

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

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

Примеры тестов

Входные данные
2 3
1 hat
1 shirt
2 hat
Выходные данные
1 1 
Входные данные
3 2
1 mom
3 dad
Выходные данные
1 0 1 

Примечание

В первом примере первая команда отгадала слово shirt, а вторая слово hat.

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

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

Подзадача 1. 1 ≤ N ≤ 2000, 1 ≤ M ≤ 2000. Каждое слово встречается только один раз. Оценивается из 20 баллов.

Подзадача 2. 1 ≤ N ≤ 2000, 1 ≤ M ≤ 2000. Оценивается из 30 баллов.

Подзадача 3. 1 ≤ N ≤ 100 000, 1 ≤ M ≤ 100 000. Оценивается из 50 баллов.

ограничение по времени на тест
0.5 second;
ограничение по памяти на тест
64 megabytes

Гоблины Мглистых гор очень любях ходить к своим шаманам. Так как гоблинов много, к шаманам часто образуются очень длинные очереди. А поскольку много гоблинов в одном месте быстро образуют шумную толку, которая мешает шаманам проводить сложные медицинские манипуляции, последние решили установить некоторые правила касательно порядка в очереди.

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

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

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

В первой строке входных данный записано число \(N\) (\(1\le N\le 10^5\)) - количество запросов к программе. Следующие \(N\) строк содержат описание запросов в формате:

  • "+ i" - гоблин с номером \(i\) (\(1\le i \le N\)) встает в конец очереди.
  • "* i" - привилегированный гоблин с номером \(i\) встает в середину очереди.
  • "-" - первый гоблин из очереди уходит к шаманам. Гарантируется, что на момент такого запроса очередь не пуста.

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

Для каждого запроса типа "-" программа должна вывести номер гоблина, который должен зайти к шаманам.

Примеры
Входные данные
7
+ 1
+ 2
-
+ 3
+ 4
-
-
Выходные данные
1
2
3
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
256 megabytes

Петрик и Василько — настоящие друзья, поэтому они постоянно задают друг другу всевозможные интересные задачи. Однако Василько всегда с легкостью решает задачи своего друга, поэтому Петрик решил придумать по-настоящему сложную задачу. И вот что у него получилось. Будем называть число b подчислом числа a , если из числа a можно вычеркнуть некоторые цифры так, что цифры, которые остались, образуют число b . Задано n -цифровое число x . Обозначим как x k наибольшее k -цифровое подчисло числа x . Необходимо ответить на m запросов. Каждый запрос состоит из двух цифр - k и l . Ответом на запрос является l -я цифра числа x k . На этот раз задача действительно заставила Василько задуматься. А сможете ли вы решить ее быстрее его?

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

В первой строке входного файла содержится целое число x длины n ( 1 ≤ n ≤ 100 000 ). Во второй строке содержится число m ( 1 ≤ m ≤ 50 000 ). В следующих m строках содержится по два числа k i , l i ( 1 ≤ k i n , 1 ≤ l i k i ) — параметры i -го запроса.

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

Выходной файл должен содержать одну строку длины m , i -й символ которого является ответом на i -й запрос.

Примечание

  1. n = 20, m = 10 000 .( 15 баллов)
  2. n · m ≤ 500 000 .( 25 баллов)
  3. n ≤ 100 000, m ≤ 50 000 .( 60 баллов)
Примеры
Входные данные
31415926
7
2 2
3 1
1 1
4 3
5 2
8 2
7 3
Выходные данные
6992511
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Дан трёхмерный массив. Найдите сумму на параллелепипеде со сторонами, паралельными осям координат.

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

В первой строке даны три числа: 1 ≤ N , M , K ≤ 100 . В следующих N × M строках даны по K чисел - | a ijk | < 109 . Далее в отдельной строке даётся одно число Q ≤ 10 - количество запросов. В следующих Q строках даются запросы: каждый запрос имеет вид x1  y1  z1 x2  y2  z2 - две противоположные границы параллелепипеда, сумму которого необходимо подсчитать. 1 ≤ x 1 x 2 N 1 ≤ y 1 y 2 M 1 ≤ z 1 z 2 K

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

Для каждого запроса выведите одно число в отдельной строке - ответ на этот самый запрос

Примеры
Входные данные
3 3 3
2 3 5
1 2 3
4 5 7
1 6 6
9 6 6
8 6 6
4 3 3
2 3 3
5 3 3
1
2 1 2 3 3 3
Выходные данные
54
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

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

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

В приведённом примере таблица имеет размер \(4\times5\), в ней символом "I" помечены защищённые клетки. Видно, что двух вирусов достаточно для заражения всей области. Их можно поместить, например, в клетки, помеченные символом "V".

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

В первой входной строке записаны два натуральных числа \(M\) и \(N\) - размеры таблицы (количество строк и столбцов соответственно). Известно, что
\(1 \le M, N \le 100\). Во второй строке вначале записано одно число \(K\) - количество защищённых клеток, а далее записаны \(2K\) чисел – координаты этих клеток \(x_i\), \(y_i\) (\(0 \le k \le M \times N, 1 \le x_i \le M, 1 \le y_i \le N\)).

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

Программа должна вывести одно число – минимально возможное число вирусов.

Примеры
Входные данные
4 5
3 1 3 2 1 2 2
Выходные данные
2

Страница: << 43 44 45 46 47 48 49 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест