
Условие: Петр участвует в конкурсе, в котором разыгрывается n призов. Призы пронумерованы от 1 до
n. По итогам конкурса участник может набрать от 2 до n баллов. Если участник наберет k баллов, то он получит один из призов с номером от 1 до k. Перед тем, как участник выберет свой приз, ведущий конкурса удаляет один из призов из списка. Затем участник может выбрать любой приз из оставшихся k – 1. Список призов стал известен Петру. Он определил для каждого приза его ценность, для i-го приза она задается целым числом ai. Требуется написать программу, которая по заданным ценностям призов определяет для каждого k от 2 до n, приз с какой максимальной ценностью гарантированно достанется Петру, если он наберет в конкурсе k баллов. Формат входных данных: Первая строка входного файла содержит число n (2 ≤ n ≤ 100 000). Вторая строка этого файла содержит n целых чисел: a1, a2, …, an (1 ≤ ai ≤ 109). Формат выходных данных: Выходной файл должен содержать одну строку, содержащую n – 1 целых чисел: для каждого k от 2 до n должна быть выведена ценность приза, который достанется Петру, если он наберет k баллов.

Ответы на вопрос

n, i, j, max, prmax: integer;
begin
read(n);
for i:=1 to n do read(a[i]);
max:=a[1];
for i:=2 to n do if a[i] >= max then begin write(max, ' '); prmax:=max; max:=a[i] end else
if a[i] > prmax then begin write(a[i], ' '); prmax:=a[i] end else write(prmax, ' ');
end.
Попробовал так написать, думаю, ввод-вывод с файла сам сможешь прикрутить...



Задача
Петр участвует в конкурсе, в котором разыгрывается n призов. Призы пронумерованы от 1 до n. По итогам конкурса участник может набрать от 2 до n баллов. Если участник наберет k баллов, то он получит один из призов с номером от 1 до k. Перед тем, как участник выберет свой приз, ведущий конкурса удаляет один из призов из списка. Затем участник может выбрать любой приз из оставшихся k – 1. Список призов стал известен Петру. Он определил для каждого приза его ценность, для i-го приза она задается целым числом ai. Требуется написать программу, которая по заданным ценностям призов определяет для каждого k от 2 до n, приз с какой максимальной ценностью гарантированно достанется Петру, если он наберет в конкурсе k баллов.
Решение
Для решения данной задачи, мы можем использовать следующий алгоритм:
1. Считываем число n - количество призов. 2. Считываем n целых чисел, представляющих ценность каждого приза. 3. Создаем список result, в котором будем хранить максимальную ценность приза, которую Петр гарантированно получит при наборе k баллов. 4. Инициализируем переменную max_value, которая будет хранить максимальную ценность приза. 5. Проходимся по списку ценностей призов в обратном порядке (от последнего до первого). 6. Если текущая ценность больше max_value, то обновляем max_value. 7. Добавляем max_value в начало списка result. 8. Выводим список result.
Пример кода
```python n = int(input()) values = list(map(int, input().split()))
result = [] max_value = 0
for value in reversed(values): if value > max_value: max_value = value result.insert(0, max_value)
print(*result) ```
Пример работы
Входные данные: ``` 5 10 5 8 3 6 ```
Выходные данные: ``` 10 8 8 6 6 ```
Объяснение
Петр имеет 5 призов с ценностями 10, 5, 8, 3 и 6. Если он наберет 2 балла, то он гарантированно получит приз с ценностью 10. Если он наберет 3 балла, то он гарантированно получит приз с ценностью 8. Если он наберет 4 балла, то он также получит приз с ценностью 8. Если он наберет 5 баллов, то он гарантированно получит приз с ценностью 6. Если он наберет 6 баллов, то он также получит приз с ценностью 6.


Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili