Мальчик Антон решает вступительную работу в летний математический лагерь. В ней \(N\) заданий, которые можно выполнять в произвольном порядке. Разные задачи требуют разного времени для решения. При этом известно, что если задание с номером \(i\) выполнять \(j\)-м по счету, Антону потребуется \(T_i\)*\(j\) времени: чем больше думаешь, тем больше устаешь. Например, если начать с первой задачи, а затем выполнить вторую, то потребуется \(T_1\)*1 + \(T_2\)*2 времени, а если выполнить сначала вторую задачу, а затем первую – то \(T_2\)*1 + \(T_1\)*2. Подскажите Антону, в каком порядке нужно решать задачи, чтобы на выполнение всей работы ушло как можно меньше времени.
В первой строке вводится число \(N\), во второй строке —\(N\) чисел через пробел\(T_1\), \(T_2\), …, \(T_N\), разделенные пробелами. Все числа целые и удовлетворяют следующим ограничениям: 0 < \(N\) ≤ 10, 0 < \(T_i\) ≤ 100.
Требуется вывести сначала минимальное время, за которое можно решить все задачи, а затем – номера задач в том порядке, в котором их нужно решать, чтобы уложиться в это время. Все числа разделяются пробелами. Если решений несколько, нужно выдать любое из них.
(Во входных данных не хватает вывода номеров задач)
Андрей листал словарь английских слов и обнаружил слово angle, в котором три согласные буквы (ngl) идут подряд. Его заинтересовало, а какое наибольшее количество согласных может идти подряд в английском слове. Помогите ему ответить на этот вопрос.
Скачайте файл https://informatics.msk.ru/moodle_probpics/528/001.dat, в котором в алфавитном порядке записан список английских слов (в словах встречаются только маленькие латинские буквы, каждое слово записано с новой строки).
Вам требуется сдать на проверку текстовый файл, в котором записаны слова из этого словаря, содержащие максимальное количество согласных букв подряд. Требуется записать все такие слова: каждое с новой строки, слова должны идти в том же порядке, в котором они встречаются в словаре.
(Согласными называются буквы b, c, d, f, g, h, j, k, l, m, n, p, q, r, s, t, v, w, x, z.)
Сережа играет в "Морской бой". Поле для игры представляет собой квадрат 10 x 10 клеток. На поле отмечены клетки, в которые Сережа уже стрелял. Однако, пока он не попал ни в один корабль противника. Требуется определить максимальную длину корабля, который может поместиться в небитых клетках этого поля. Корабль представляет из себя прямоугольник ширины 1 и располагается горизонтально или вертикально. (Гарантируется, что на поле есть хотя бы одна небитая клетка.)
Вводятся 10 строк по 10 чисел в каждой, числа разделены пробелами. Число 1 означает, что в соответствующую клетку стреляли, число 0 – что в клетку не стреляли.
Требуется вывести одно число от 1 до 10 – максимальную возможную длину корабля.
0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0
10
На прямой тропинке на расстоянии 1 метр друг от друга сидят два кузнечика. Время от времени один из кузнечиков прыгает на несколько сантиметров влево или вправо. Требуется узнать, каково было минимальное расстояние, на которое сближались кузнечики в процессе прыжков. (Расстояние считается только в те моменты, когда оба кузнечика сидят на земле).
В первой строке вводится одно число \(N\) (1 ≤ \(N\) ≤ 100) – общее количество прыжков, а затем \(N\) чисел, описывающих прыжки. Модуль числа равен длине прыжка в сантиметрах; число отрицательное, если кузнечик начинал этот прыжок по направлению к другому кузнечику, и положительное – если от другого кузнечика. Числа по модулю не превосходят 100 и все отличны от 0. (Кузнечики могут перепрыгивать друг через друга. Гарантируется, что кузнечики не приземляются друг на друга.)
Требуется вывести одно число – минимальное расстояние в сантиметрах, на которое сближались кузнечики.
5 1 2 3 4 5
100
Назовем таблицу из \(N\) x \(M\) чисел отсортированной, если любое число в таблице не меньше каждого из чисел, стоящих одновременно выше и левее данного числа (см. пример). Дана таблица чисел. Требуется переставить числа так, чтобы таблица оказалась отсортированной. Если способов несколько, нужно привести любой из них.
Вводятся сначала два числа \(N\) и \(M\) (натуральные, не превосходящие 30), а затем \(N\) строк по \(M\) разделенных пробелами чисел в каждой. Числа целые и не превышают по модулю 10000.
Вывести \(N\) строк по \(M\) разделенных пробелами чисел в каждой строке.
5 5 5846 -7377 -1229 8276 2057 9405 -994 -314 -6842 9505 -5743 8580 -4743 317 -9258 7317 -8523 -929 -2313 -7580 -8541 4109 -7542 -5972 -2624
-9258 -8541 -8523 -7580 -7542 -7377 -6842 -5972 -5743 -4743 -2624 -2313 -1229 -994 -929 -314 317 2057 4109 5846 7317 8276 8580 9405 9505