• Условие:
    Петр участвует в конкурсе, в котором разыгрывается 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 баллов.

Ответы 3

  • ой, k забыл убрать с объявления переменных :)
  • [редактировано]
  • var a: array[1..100000] of integer;n, i, j, max, prmax: integer;beginread(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.Попробовал так написать, думаю, ввод-вывод с файла сам сможешь прикрутить...
    • Автор:

      katiexxgz
    • 6 лет назад
    • 0
  • Добавить свой ответ

Войти через Google

или

Забыли пароль?

У меня нет аккаунта, я хочу Зарегистрироваться

How much to ban the user?
1 hour 1 day 100 years