• В плацкартном вагоне 54 места, пронумерованных числами от 1 до 54. Вагон разбит
    на 9 купе. Первые 36 мест расположены по левую сторону от прохода, места 1–4 находятся
    в первом купе, места 5–8 – во втором и т. д. В девятом купе находятся места с номерами 33–
    36. По правую сторону от прохода находятся боковые места, их номера от 37 до 54, причём
    они нумеруются в противоположном направлении: места 37 и 38 находятся напротив
    девятого купе, а места 53 и 54 – напротив первого. Ниже приведена схема всех мест в вагоне.
    1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35
    2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 32 34 36
    53 54 51 52 49 50 47 48 45 46 43 44 41 42 39 40 37 38
    Группа школьников едет на олимпиаду и будет всю дорогу крутить спиннеры.
    Поэтому им нужно купить места в нескольких подряд идущих купе вместе с прилегающими
    боковыми местами. Даны номера свободных мест в поезде. Определите, какое наибольшее
    число подряд идущих купе полностью свободны.
    Программа получает на вход число N – количество свободных мест в вагоне
    (0 ≤ N ≤ 54). Следующие N строк содержат номера свободных мест – различные числа от 1
    до 54 в произвольном порядке, по одному числу в строке.
    Программа должна вывести одно целое число – максимальное число подряд идущих
    свободных купе (купе – 4 места слева от прохода и 2 боковых места) в этом вагоне.

Ответы 1

  • // PascalABC.NET

    // Версия 3.3.5 сборка 1662 (29.04.2018)

    function num(n: integer): integer;begin  if n <= 36 then num := (n - 1) div 4  else num := 8 - (n - 37) div 2end;begin  var carr := ArrFill(9, 0);  for var i := 1 to ReadInteger do carr[num(ReadInteger)] += 1;     carr.AdjacentGroup.Where(t -> t[0] = 6).Select(t -> t.Count).Max.Println;

    end.

    Пример:

      Ввод:

      12

      5 6 3 4 8 7 51 9 10 54 49 52

      Вывод:

       1

    • Автор:

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

Войти через Google

или

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

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

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