Top.Mail.Ru
Ответы

Программирование 9 класс олимпиадная задача помогите пожалуйста

Дан массив целых чисел a длины n . Вы можете выбрать какие-то числа массива, так чтобы были выполнены следующие условия:
1)на каждом отрезке массива длины k должно быть выбрано хотя бы одно число.
2)наименьшее из выбранных чисел должно быть максимально возможным.
Назовем k-характеристикой массива — наименьшее из выбранных чисел для данного k.

Найдите k-характеристику массива для каждого k от 1 до n.
Входные данные
В первой строке входных данных содержится единственное целое число n.-длина массива
Вторая строка содержит n целых чисел a1 a2 a3 a4...an-элементы массива
Выходные данные
Выведите n целых чисел, где i-тое число является i характеристикой массива.
входные данные
4
3 6 3 2
выходные данные
2 3 6 6
Питон

По дате
По Рейтингу
Аватар пользователя
Мастер
12345678910111213
 n = int(input()) 
arr = list(map(int, input().split())) 
 
result = [] 
for k in range(1, n + 1): 
    sub_arr = [] 
    for i in range(n - k + 1): 
        min_val = max(arr[i:i+k]) 
        sub_arr.append(min_val) 
    result.append(min(sub_arr)) 
 
for res in result: 
    print(res, end=' ')