Темы
    Информатика(2656 задач)
---> 36 задач <---
    Раунд 1(6 задач)
    Раунд 2(6 задач)
    Раунд 3(6 задач)
    Раунд 4(6 задач)
    Раунд 5(6 задач)
    Раунд 6(6 задач)
Страница: << 1 2 3 4 5 6 7 >> Отображать по:
ограничение по времени на тест
1.0 second;
ограничение по памяти на тест
64 megabytes

Слон постоянно шалит в своей школе. На уроках ему становится скучно, и он начинает хулиганить. Учитель решил успокоить слона, поэтому дал ему очень сложную математическую задачу.

Учитаель дал слону арифметическое выражение A и числа P и M . Слону надо ответить на такой вопрос: "Каково минимальное неотрицательное значение переменной x в выражении A , такое что остаток от деления A на M равно P ?". Гарантируется, что решение всегда существует.

Кроме того, после применения законов распределения к выражению A , x содержится в A только в первой степени.

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

В первой строке содержится выражение A ( 1 ≤ | A | ≤ 10 5 ). Вторая строка содержит два целых числа P и M ( 0 ≤ P < M ≤ 10 6 ). A состоит только из символов +, -, *, (, ), x и цифр от 0 до 9. Каждый оператор +, -, * применяется ровно к двум значения, умножения всегда обозначены явно.

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

Выведите одно число – ответ на задачу

Примечание

Пояснение к первому примеру:

(5 + 3 + x ) mod 10 при x = 0 равно 8.

(5 + 3 + x ) mod 10 при x = 1 равно 9. Значит, ответ x = 1 .

Примеры
Входные данные
5+3+x
9 10
Выходные данные
1
Входные данные
20+3+x
0 5
Выходные данные
2
Входные данные
3*(x+(x+4)*5)
1 7
Выходные данные
1
#113569
  
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 3, Весёлые запросы ]
Ограничение по времени, сек2
Ограничение по памяти, мегабайт512

Дан массив a длины n , состоящий из натуральных чисел в диапозоне [1; k ] . Вам необходимо обработать 2 типа запросов:

1 p u — изменить значение элемента на позиции p на u .

2 — сообщить длину кратчайшего подотрезка, содержащего все числа от 1 до k или - 1 если такого подотрезка не существует.

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

В первой строке входного файла задано 3 целых числа n , k и m (1 ≤ n , m ≤ 10 5 , 1 ≤ k ≤ 50) — длина массива, максимальное число в массиве и число запросов, соответственно.

В следующей строке содержится n чисел (1 ≤ a i k ) — элементы массива.

В последующих m строках содержатся запросы в формате, указанном выше.

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

Для каждого запроса второго типа выведите ответ на него.

Группы тестов

11 баллов — (1 ≤ n , m ≤ 40) .

47 балла — (1 ≤ n , m ≤ 5 000) .

42 балла — (1 ≤ n , m ≤ 10 5 ) потестовая оценка.

Примеры
Входные данные
4 3 5
2 3 1 2
2
1 3 3
2
1 1 1
2
Выходные данные
3
-1
4
ограничение по времени на тест
4.0 second;
ограничение по памяти на тест
512 megabytes

Мирко получил в подарок на свой день рождения квадратный стол N x N , где в каждой клетке записано неотрицательное целое число. К сожалению, некоторые числа кажутся Мирко слишком большими, поэтому он собирается положить на стол K фишек домино, которые закроют некоторые слишком большие числа. Точнее, он собирается положить фишки домино в соответствии со следующими правилами:

1. Каждая фишка домино покрывает две клетки, соседних по строчке или столбцу..

2. Фишки домино не накладываются друг на друга (но могут соприкасаться).

3. Сумма чисел на всех видимых (непокрытых) клетках минимальна.

Ваша задача - определить минимально возможную сумму чисел на видимых клетках. Тесты к задаче таковы, что на поле всегда можно положить K не накладывающихся друг на друга фишек домино.

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

Первая строка содержит два целых числа: N ( 1 ≤ N ≤ 2000 ) - размер стола, и K ( 1 ≤ K ≤ 8 ) - количество фишек домино. Каждая из следующих N строк содержит N целых чисел (в диапазоне [0, 1000]) - числа в соответствующих клетках поля.

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

Выведите единственное целое число - минимально возможную сумму чисел в клетках после установки фишек домино.

Примечание

Решения, работающие при K ≤ 5 , будут оцениваться в 70 баллов.

Примеры
Входные данные
3 1
2 7 6
9 5 1
4 3 8
Выходные данные
31
Входные данные
4 2
1 2 4 0
4 0 5 4
0 3 5 1
1 0 4 1
Выходные данные
17
#113571
  
Темы: [Массивы]
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 4, Коллизия чисел ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Дано 2 числа N и M , и их надо преобразовать следующим образом: выпишем их друг под другом (если числа имеют разную длину, дополним меньшее из них ведующими нулями) и будем сравнивать их отдельно в каждой цифре. Из того числа, где цифра меньше, эта цифра вычеркивается. Если цифры равны, то ничего не происходит. Если, в итоге, из числа вычеркнули все цифры, то вместо него надо вывести 'YODA' .

Найдите те числа, которые получатся в результате преобразования.

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

Первая строка содержит число N ( 1 ≤ N ≤ 10 9 ), первое из двух чисел.

Вторая строка содержит число M ( 1 ≤ M ≤ 10 9 ), второе из двух чисел.

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

В первой строке выходного файла выведите новое значение первого числа.

В второй строке выходного файла выведите новое значение второго числа.

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

Решения, в которых 100 ≤ N ≤ 999 , будут оцениваться в 30 баллов.

Примеры
Входные данные
300
500
Выходные данные
0
500
Входные данные
65743
9651
Выходные данные
673
95
Входные данные
2341
6785
Выходные данные
YODA
6785
#113572
  
Темы: [Строки]
Источники: [ Личные олимпиады, COCI, COCI 2015-2016, Раунд 4, Трезвый Доминик ]
ограничение по времени на тест
2.0 second;
ограничение по памяти на тест
64 megabytes

Хан не хотел учиться один, поэтому он пригласил своего друга Доминика позаниматься вместе с ним. После того, как они решили рекордное количество задач за вечер, Доминик поехал домой. Внезапно его остановила полиция, подозревая, что он водил в пьяном виде. Чтобы проверить Доминика, полицейские начали задавать ему вопросы.

Полицейский: Давайте начнём с чего-то простого. Какова асимптотика сортировки пузырьком?

Доминик: О, это просто. O ( n 2 ) .

Полицейский: Скажите английский алфавит наоборот.

Доминик: Легко, zyxwvutsrqponmlkjihgfedcba.

Полицейский: Вы просто запомнили это. Представьте, что строчные буквы латинского алфавита записаны по кругу по часовой стрелке. Начинайте с буквы 'a' и называйте все буквы подряд. После каждой сказанной буквы я могу приказать теперь называть в обратном порядке, спросить сколько раз была названа какая-то буква или ничего не делать. Приступайте.

Доминик: Хм... a, b, c...

Возможно, Доминик не настолько трезв, чтобы решить эту задачу. Помогите ему.

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

Первая строка содержит одно целое число Q ( 1 ≤ Q ≤ 10 5 ) – количество приказов полицейского. Каждая из последующих Q строк содержит один из приказов в формате "SMJER n" или "UPIT n x". Приказ первого типа обозначает, что после n -й сказанной буквы требуется поменять направление. Приказ второго типа обозначает, что Доминик должен сказать, сколько раз он произнес букву x после n сказанных букв.

Во всех запросах 1 ≤ n ≤ 10 9 , а x – строчные латинские буквы. В запросах n идут в строго возрастающем порядке.

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

Для каждого запроса вида "UPIT n x", выведите ответ на этот запрос, каждый в отдельной строке, в том же порядке, что и в вводе.

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

40 баллов: n ≤ 1000

60 баллов: n ≤ 10 5

100 баллов: n ≤ 10 9

Примечание

В первом примере Доминик говорит a, b, c, d, c, b, a, z, y, x.

Во втором примере Доминик говорит a, z, a, z, y, x, w.

Примеры
Входные данные
5
UPIT 1 b
UPIT 3 b
SMJER 4
UPIT 7 a
UPIT 10 z
Выходные данные
0
1
2
1
Входные данные
5
SMJER 1
SMJER 2
SMJER 3
UPIT 5 a
UPIT 7 w
Выходные данные
2
1
Входные данные
4
UPIT 100 a
UPIT 200 c
UPIT 300 a
UPIT 400 b
Выходные данные
4
8
12
16

Страница: << 1 2 3 4 5 6 7 >> Отображать по:
Выбрано
:
Отменить
|
Добавить в контест