veselova999
18.03.2020 01:44

Социальная дистанция Ограничение времени 1 секунда
Ограничение памяти 64Mb
Ввод стандартный ввод или input.txt
Вывод стандартный вывод или output.txt

В условиях распространения коронавирусной инфекции очень важно соблюдать социальную дистанцию, особенно во время обеда. Администрация курортного отеля хочет разместить большую компанию отдыхающих во время обеда за круглым столом. Для каждого отдыхающего известно минимальное расстояние по окружности стола, которое должно отделять его от двух ближайших соседей, чтобы он чувствовал себя защищенным.

Администрация отеля может рассаживать отдыхающих в том порядке, в котором считает нужным. Напишите программу, которая определяет минимальную длину окружности стола, необходимую для рассадки всех отдыхающих с соблюдением социальной дистанции.

Формат ввода
В первой строке записано целое число – количество отдыхающих n (1 ≤ n ≤ 105). Далее идут n строк. В каждой строке записано целое число di – минимальное требуемое расстояние по окружности до соседей для i-го отдыхающего (1 ≤ di ≤ 109).

Формат вывода
Выведите одно целое число – минимальную длину окружности стола, необходимую для рассадки всех отдыхающих.

Пример
Ввод Вывод
3
4
6
5
17
Примечания
В приведенном выше примере необходимо разместить за столом 3 человека: первый хочет сидеть не ближе 4 от своих соседей, второй не ближе 6, третий не ближе 5. Одно из возможных расположений изображено снизу: между первым и третьим 5, между первым и вторым 6, между вторым и третьим 6. Вся длина окружности при этом равно 17. Можно разместить гостей и другими , но добиться длины окружности меньше 17 не удастся.

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
aliali123
04.02.2020 03:33
Const n = 15;
var a:array[1..n]of integer;
i,m,min5:integer;
f:boolean;
begin
  for i:=1 to n do begin
    write('Введите ',i,' член массива ');
    readln(a[i]);
    if a[i] mod 5=0 then begin
      m:=m+1;
      if not f then begin
        min5:=a[i];
        f:= not f;
      end;
      if (f) and (a[i]<min5) then min5:=a[i];
    end;
  end;
  writeln('Кратных 5: ',m:3,' Минимальный: ',min5:4);
end.

Тестовое решение
Введите 1 член массива 13
Введите 2 член массива 10
Введите 3 член массива 15
Введите 4 член массива 5
Введите 5 член массива 25
Введите 6 член массива 23
Введите 7 член массива 12
Введите 8 член массива 32
Введите 9 член массива 11
Введите 10 член массива 21
Введите 11 член массива 43
Введите 12 член массива 15
Введите 13 член массива 25
Введите 14 член массива 13
Введите 15 член массива 14
Кратных 5:  6    Минимальный:  5
0,0(0 оценок)
Ответ:
cer7765
05.06.2022 16:09
1. Программа в одной из современных версий Паскаля:

// PascalABC.NET 3.1, сборка 1211 от 31.03.2016
begin
  var s:=ReadlnString('Исходная строка:');
  Writeln('Результат: ',s.MatchValues('[a-zA-ZА-Яа-яёЁ]').JoinIntoString(''));
end.

Тестовое решение:

Исходная строка: // PascalABC.NET 3.1, сборка 1211 от 31.03.2016
Результат: PascalABCNETсборкаот

2. Программа в "школьной версии"

// PascalABC.NET 3.1, сборка 1211 от 31.03.2016
const
  legal=['A'..'Z','a'..'z','А'..'Я','а'..'я','Ё','ё'];
var
  s:string;
  i:integer;
begin
  Write('Исходная строка: '); Readln(s);
  for i:=Length(s) downto 1 do
    if not(s[i] in legal) then Delete(s,i,1);
  Writeln('Результат: ',s);
end.
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота