Вывести максимально возможное количество конфет, которые могут получить игравшие дети - Turbo Pascal
Формулировка задачи:
В детском саду готовятся к Новогоднему празднику. Дед Мороз, известный всем своей незаурядностью, придумал для детей новый конкурс.
У Деда Мороза имеется мешок с N фишками. Каждый раз Дед Мороз выбирает из группы двоих детей, каждый из которых извлекает из мешка Деда Мороза одну фишку. Ребенок, который извлек фишку с большим номером, получает от Деда Мороза конфеты в количестве, равном числу, написанному на его фишке, второй ребенок не получает ничего. После вручения конфет фишка с большим номером остается у ребенка, а фишка с меньшим номером возвращается обратно в мешок. Игра продолжается до тех пор, пока в мешке находится не менее двух фишек.
Из пяти фишек были вытянуты фишки с числами 5 и 4,
было получено 5 конфет (фишка выделена цветом), фишка с числом 4 была возвращена в мешок.
Деду Морозу необходимо определить максимальное количество конфет, которое могут получить игравшие дети. Ваша задача – помочь Дедушке в этом нелегком вопросе.
Входные данные
Первая строка входного файла содержит одно целое число N (2 ≤ N ≤ 1000), которое определяет число фишек в мешке Деда Мороза.
Вторая строка входного файла содержит ровно N различных целых чисел Ai
(1 ≤ Ai ≤ 32767). Числа в строке разделяются одиночными пробелами. Ai – число, написанное на i-й фишке.
Выходные данные
Единственная строка выходного файла содержит одно целое число – максимально возможное количество конфет, которые могут получить игравшие дети.
input.txt
2
7 3
7
output.txt
5
2 5 3 4 7
19
Решение задачи: «Вывести максимально возможное количество конфет, которые могут получить игравшие дети»
textual
Листинг программы
var n,a,s,b:longint; begin read(n); for n:=1 to n do begin read(a); if (a<b) or (n=1) then b:=a; s:=s+a end; write(s-b) end.
Объяснение кода листинга программы
В данном коде используется язык программирования Turbo Pascal. Он предназначен для решения задач, связанных с обработкой данных. Переменные в данном коде имеют следующие значения:
- n - номер ребенка, который играет (от 1 до 20)
- a - количество конфет, которое получил ребенок (может быть от 0 до 20)
- b - максимальное количество конфет, которое может получить ребенок (изначально равно 0)
- s - общее количество конфет, которое получили все дети (изначально равно 0) Код считывает количество детей, игравших, и затем, в цикле, считывает количество конфет, которое получил каждый ребенок. Если полученное количество конфет меньше или равно количеству конфет предыдущего ребенка или если это первый ребенок, то значение переменной b обновляется, чтобы оно было равно значению переменной a. Затем, переменная s увеличивается на сумму полученных конфет. В конце кода выводится разность между общим количеством конфет и значением переменной b.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д