М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
gore489
gore489
16.09.2020 18:50 •  Информатика

Социальная дистанция Ограничение времени 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 не удастся.

👇
Открыть все ответы
Ответ:
lashina90
lashina90
16.09.2020
Использовать Чертежник
алг МИМ
нач
  опустить перо
  сместиться на вектор(0.75,3)
  сместиться на вектор(0.75,-3)
  сместиться на вектор(0.75,3)
  сместиться на вектор(0.75,-3)
  поднять перо
  сместиться на вектор(1,0)
  опустить перо
  сместиться на вектор(0,3)
  сместиться на вектор(0,-3)
  сместиться на вектор(1.5,3)
  сместиться на вектор(0,-3)
  поднять перо
  сместиться на вектор(1,0)
  опустить перо
  сместиться на вектор(0.75,3)
  сместиться на вектор(0.75,-3)
  сместиться на вектор(0.75,3)
  сместиться на вектор(0.75,-3)
кон
4,8(66 оценок)
Ответ:
MrLinar
MrLinar
16.09.2020
// PascalABC.NET 3.2, сборка 1443 от 19.05.2017
// Внимание! Если программа не работает, обновите версию!

begin
  var n:=ReadInteger('Количество строк в массиве:');
  var m:=ReadInteger('Количество колонок в массиве:');
  Writeln('*** Исходный массив [',n,',',m,'] ***');
  var a:=MatrRandom(n,m,-99,99);
  a.Println(4); Writeln(4*a.ColCount*'-');
  var s:=a.ElementsWithIndexes;
  var max:=s.MaxBy(x->x[2]);
  var min:=s.MinBy(x->x[2]);
  a.SwapRows(max[0],min[0]);
  Writeln('*** Результирующий массив ***');
  a.Println(4)
end.

Пример
Количество строк в массиве: 6
Количество колонок в массиве: 9
*** Исходный массив [6,9] ***
  42 -66 -81  85  62 -36 -54  54  93
  80  32 -85 -44  54 -99  72  53  59
  20  50  27  98 -40  43 -52 -48 -92
  37 -86 -53 -81  85  16 -31 -37  93
  36  75  76 -95  38 -15  29 -86  97
  12  94 -38 -52  86 -13 -99  91   1

*** Результирующий массив ***
  42 -66 -81  85  62 -36 -54  54  93
  20  50  27  98 -40  43 -52 -48 -92
  80  32 -85 -44  54 -99  72  53  59
  37 -86 -53 -81  85  16 -31 -37  93
  36  75  76 -95  38 -15  29 -86  97
  12  94 -38 -52  86 -13 -99  91   1
4,4(64 оценок)
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ