Задача A. Излишек

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

У Влада возник излишек — 1000 рублей. Ему необходимо его срочно потратить, возможно, даже, с перерасходом. Для этого он зашел в супермаркет и кладет в корзину товары по порядку, пока их суммарная стоимость не достигнет излишка. Сколько рублей потратит Влад?

Формат входных данных

Входные данные содержат число N — количество доступных товаров. Далее N строк, в каждой из которых цена отдельного товара, в порядке, в котором Влад кладет их в корзину. Гарантируется, что товаров достаточно, чтобы покрыть излишек.

Формат выходных данных

Выходные данные должны содержать одно число — суммарную итоговую стоимость товаров в корзине.

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

Стандартный вход Стандартный выход
1
6
10
10
100
2000
10
10
2120
2
4
500
500
500
500
1000

Задача B. Будь как все

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Дан массив чисел. Нужно заменить в нем максимальный элемент на минимальный из этого же массива. Если максимальных несколько — заменить каждый из них.

Формат входных данных

Входные данные содержат несколько чисел, разделенных пробелами.

Формат выходных данных

Выходные данные должны содержать массив, в котором максимальные элементы заменены на минимальный. Элементы массива должны быть разделены пробелами.

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

Стандартный вход Стандартный выход
1
3 -1 2 4 9 6
3 -1 2 4 -1 6
2
5 4 1 5 2
1 4 1 1 2

Задача C. Палиндром?

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Палиндром — это слово или фраза, которые одинаково читаются слева направо и справа налево (без учета пробелов и регистра символов).

Формат входных данных

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

Формат выходных данных

Выходные данные должны содержать True, если фраза — палиндром, и False в противном случае.

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

Стандартный вход Стандартный выход
1
А роза упала на лапу Азора
True
2
Роза не упала на лапу Азора
False

Задача D. Увеличить по позициям

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Даны массив и список индексов (номеров элементов). Нумерация начинается с 1. Необходимо прибавить единицу к каждому элементу массива, индекс которого есть в списке индексов.

Формат входных данных

Первая строка входных данных содержит два числа N и M — длины массива и списка индексов соответственно. Вторая строка содержит N целых чисел — элементы массива. Третья строка содержит M целых чисел — индексы.

Формат выходных данных

Выходные данные должны содержать преобразованный массив.

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

Стандартный вход Стандартный выход
1
5 3
1 2 3 4 5
1 3 5

2 2 4 4 6

Задача E. Энтое слово

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Вам даны фраза и положительное число — позиция слова. Необходимо вывести слово, находящееся в фразе на этой позиции. Если данное число больше, чем количество слов в фразе, то вывести последнее слово.

Формат входных данных

В первой строке входных данных дана строка текста, содержащая символы латинского алфавита, пробелы и цифры. Слово — это последовательность идущих подряд латинских букв и/или цифр. Во второй строке дано целое число — позиция искомого слова при нумерации слов с единицы.

Формат выходных данных

Выходные данные должны содержать искомое слово.

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

Стандартный вход Стандартный выход
1
FEFU was established in 1899 as the Eastern Institute
5
1899
2
FEFU was established
5
established

Задача F. Норма L1

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Дан вектор произвольной размерности. Необходимо посчитать так называемую норму L1 для этого вектора. Норма L1 — это сумма абсолютных величин компонент вектора (абсолютная величина вычисляется функцией abs).

Формат входных данных

Входные данные содержат целые числа — компоненты вектора, записанные в одной строке через пробел.

Формат выходных данных

Выходные данные должны содержать одно число — норму L1 этого вектора.

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

Стандартный вход Стандартный выход
1
3 4
7
2
10 -20 3
33

Задача G. Транспонирование квадратной матрицы

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Дана квадратная матрица, нужно ее транспонировать. Транспонированная матрица — это матрица, для получения которой из исходной нужно элементы каждой строки исходной матрицы записать в виде столбца в том же порядке.

Формат входных данных

Первая строка содержит число N — количество строк (и столбцов) в матрице.

Следующие N строк содержат N чисел каждая — элементы матрицы.

Формат выходных данных

Выходные данные должны содержать N строк по N чисел каждая — элементы транспонированной матрицы.

Ограничения

1 < N < 100

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

Стандартный вход Стандартный выход
1
3
1 2 3
4 5 6
7 8 9
1 4 7
2 5 8
3 6 9

Задача H. Норма L2

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Вам дан вектор произвольной размерности (массив вещественных чисел). Необходимо посчитать его норму L2 (евклидову норму). Евклидова норма — это квадратный корень из суммы квадратов компонент вектора.

Формат входных данных

Входные данные содержат вещественные числа — компоненты вектора, записанные в одной строке через пробел.

Формат выходных данных

Выходные данные должны содержать одно вещественное число — евклидову норму этого вектора.

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

Стандартный вход Стандартный выход
1
3.0 4.0
5.0
2
10.5 20.1 3.1
22.8882065701968

Задача I. Убрать соседа

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Дан массив чисел. Необходимо удалить элементы, за которыми в этом массиве следует ноль.

Формат входных данных

Входные данные содержат ряд чисел, разделенных пробелом.

Формат выходных данных

Выходные данные должны содержать преобразованный массив.

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

Стандартный вход Стандартный выход
1
1 2 0 3 4 0 5 10
1 0 3 0 5 10
2
11 0 0 12
0 12

Задача J. Add

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Требуется написать на языке Python функцию Add(x, y), которая принимает два числа и возвращает их сумму. Пример использования функции в примерах тестов.

Формат выходных данных

Код решения должен содержать только определение и реализацию функции. Он не должен ничего выводить.

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

Стандартный вход Стандартный выход
1
x, y = 2, 3
print(Add(x, y))
5
2
print(Add(10, 11))
21

Задача K. Key sort

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

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

Формат входных данных

Входные данные содержат слова, разделённые пробелами.

Формат выходных данных

Выходные данные должны содержать строку слов, разделённых пробелом, отсортированных по второй букве.

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

Стандартный вход Стандартный выход
1
azx zab ddd
zab ddd azx

Задача L. GCD

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Дано 3 числа: A, B, C. Необходимо посчитать наибольший общий делитель (НОД) каждой из пар A и B, A и C, B и C

Формат входных данных

Входные данные содержат 3 числа — A, B, C.

Формат выходных данных

Выходные данные должны содержать 3 числа — НОД A и B, НОД A и C и НОД B и C

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

Стандартный вход Стандартный выход
1
2 6 3
2 1 3

Задача M. PrintMatrix

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Требуется реализовать на языке Python функцию PrintMatrix(mat), которая принимает двумерный массив и печатает его. Пример использования функции в примерах тестов.

Формат выходных данных

Код решения должен содержать только определение и реализацию функции.

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

Стандартный вход Стандартный выход
1
mat = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
PrintMatrix(mat)
1 2 3
4 5 6
7 8 9
2
PrintMatrix([[1, 2, 3], [4, 5, 6]])
1 2 3
4 5 6

Задача N. Map

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Требуется реализовать на языке Python функцию Map(func, l), которая принимает два параметра — функцию и список — и возвращает новый список, полученный применением функции func к элементам списка l. Пример использования функции в примерах тестов.

В решении запрещено использовать стандартную функцию map.

Формат выходных данных

Код решения должен содержать только определение и реализацию функции. Он не должен ничего выводить на экран.

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

Стандартный вход Стандартный выход
1
ary = [-1, 2, -3, 4]
print(Map(abs, ary))
[1, 2, 3, 4]
2
print(sum(Map(lambda x: x**2, [2, 3])))
13

Задача O. Однострочник

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

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

Формат входных данных

Входные данные содержат исходный список целых чисел, разделенных пробелами.

Формат выходных данных

Выходные данные должны содержать преобразованный список.

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

Стандартный вход Стандартный выход
1
-1 2 -3 4 0 -5 6
36 16 4

Задача P. Двустрочник

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Необходимо составить новый список из существующего по такому правилу: крайние элементы в начале и в конце списка оставить на своих местах (по два элемента с каждой стороны), а элементы между ними записать в обратном порядке. Решение должно быть написано в две строки.

Формат входных данных

Входные данные содержат список целых чисел, разделенных пробелами. Гарантируется, что исходный список содержит как минимум 4 элемента.

Формат выходных данных

Выходные данные должны содержать список чисел, разделенных пробелами.

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

Стандартный вход Стандартный выход
1
1 2 30 40 50 6 7
1 2 50 40 30 6 7

Задача Q. Join

Входной файл:Стандартный вход   Ограничение времени:1 сек
Выходной файл:Стандартный выход   Ограничение памяти:512 Мб

Условие

Требуется реализовать на языке Python функцию Join(array, separator), которая принимает два параметра — список строк и разделитель — и возвращает строку, полученную соединением элементов переданного списка, при этом между элементами списка вставляется разделитель (separator). Если не передать функции разделитель, то она должна использовать в качестве разделителя пробел. Пример использования функции в примерах тестов.

В решении запрещено использовать стандартную функцию join.

Формат выходных данных

Код решения должен содержать только определение и реализацию функции. Он не должен ничего выводить.

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

Стандартный вход Стандартный выход
1
ary = ['aa', 'bb', 'cc']
print(Join(ary, '!'))
aa!bb!cc
2
ary = ['aa', 'bb', 'cc']
print(Join(ary))
aa bb cc

0.292s 0.007s 45