Gunelka23333
28.04.2020 17:12

Рассмотрим числовую последовательность a1, ..., aN. Мы будем называть подстроку ai, …, aj, ..., ak (1 ≤ i < j < k ≤ N) исходной последовательности холмом, если at < at+1 для любого i ≤ t < j и at > a t+1 для любого j ≤ t < k. В таком случае вершиной холма считается min{j − i, k − j} . Аналогично, мы будем называть подстроку долиной, если at > at+1 для любого i ≤ t < j и at < at+1 для любого j ≤ t < k. Тогда глубиной долины будет считаться min{j-i, k-j}. Вычислите высоту самого высокого холма и глубину самой глубокой долины в данной последовательности.

Входные данные
В первой строке входного файла находится число T (1 ≤ T ≤ 100000) — количество тестовых блоков. Далее располагаются тестовые блоки, занимающие по 2 строки. Первая из двух строк содержит целое число N (1 ≤ N ≤ 1000000), во второй строке находятся члены последовательности, разделенные пробелом. Сумма значений N всех тестовых блоков в файле не превышает 100 000. Абсолютные значения членов последовательности не превышают 1 000 000.

Выходные данные
Выходной файл должен состоять из T строк, в каждой строке по 2 числа: высота высочайшего холма и глубина самой глубокой долины. Если в тестовом блоке не существует долин или холмов, выведите число 0.

Примеры
входные данные
2
10
4 4 1 6 3 2 1 2 5 7
10
2 3 4 5 6 7 8 9 10 9
выходные данные
1 3
1 0

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
karinamill09
19.01.2022 14:29

1. Это двухмерный массив

(TypeError: unsupported operand type(s) for +=: 'int' and 'list')

2. 3x4 ([3][4])

3. Сложение элементов двумерного массива.

Только вот работать не будет, я полагаю здесь должны были складываться все элементы массивов, но на фото он прибавляет к переменной S не числа а массивы. И это выдаёт ошибку, так что...

Я бы сделал это так:

b = [[3, 5, 7, 78], [12, 10, 9, 56], [45, 31, 14, 23]]

s = 0

for i in b:

   for j in i:

       s += j

# Или используя len:

for i in range(len(b)):

   for j in range(len(i)):

       s += b[i][j]

print('s =', s)

# s = 293

0,0(0 оценок)
Ответ:
Лизокккккек
12.07.2021 18:57

ответ:Властивостями алгоритму є дискретність, визначеність, виконуваність, скінченність, результативність і масовість.

Дискретність алгоритму означає, що його виконання зводиться до виконання окремих дій (кроків) у певній послідовності. Причому, кожна команда алгоритму повинна виконуватися за скінченний проміжок часу.

Визначеність (або детермінованість) алгоритму означає, що для заданого набору значень початкових (вхідних) даних алгоритм однозначно визначає порядок дій виконавця і результат цих дій. Алгоритм не повинен містити команди, які можуть сприйматися виконавцем неоднозначно, наприклад, «Узяти дві-три ложки цукру», «Трохи підігріти молоко», «Вимкнути світло через кілька хвилин», «Поділити число x на одне з двох даних чисел a або b» тощо. Крім того, в алгоритмах недопустимі ситуації, коли після виконання чергової команди виконавцю неясно, яку команду він повинен виконувати наступною.

Виконуваність алгоритму означає, що алгоритм, призначений для певного виконавця, може містити тільки команди, які входять до системи команд цього виконавця. Так, наприклад, алгоритм для виконавця «Учень першого класу» не може містити команду «Побудуй бісектрису даного кута», хоча така команда може бути в алгоритмі, який призначений для виконавця «Учень восьмого класу».

Объяснение:

0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота