Вывести максимально возможное количество конфет, которые могут получить игравшие дети - 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.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.5 из 5
Похожие ответы