ValeriaSalvatore
27.03.2021 17:53

, Задача 9. Счастливая подстрока ( ) Поликарп выписал на доске n цифр, отличных от нуля. Таким образом, на доске записана строка s длины n, состоящая из цифр от 1 до 9.
Введем понятие подстроки строки s: подстрока строки s — это последовательность, состоящая из произвольного количества символов строки s, которые идут в строке s подряд.
Теперь он хочет найти в этой строке подстроку максимальной длины, которая удовлетворяет следующим условиям:
• длина подстроки — четное число;
• пусть x — длина подстроки, тогда сумма первых x/2 цифр подстроки равна сумме
последних x/2 цифр подстроки.
Перед вами стоит задача определить максимальную длину подстроки строки s, которая
удовлетворяет описанным условиям.
Формат входных данных
В первой строке следует целое число n (2 6 n 6 5 000) — длина строки s.
Во второй строке следует строка s длины n, состоящая из цифр от 1 до 9.
Формат выходных данных
Выведите максимальную длину подстроки строки s, которая удовлетворяет описанным
условиям. Если ни одной подходящей подстроки не существует, выведите 0.

Замечание
В первом примере ответной подстрокой является подстрока 3856 длины 4, которая начинается в позиции 3 и заканчивается в позиции 6. Сумма первой половины цифр равна
11 и сумма второй половины цифр равна 11, поэтому эта подстрока удовлетворяет всем
условиям.
Во втором примере нет ни одной подстроки, удовлетворяющей всем условиям, поэтому
нужно вывести 0.


, Задача 9. Счастливая подстрока ( ) Поликарп выписал на доске n цифр, отличных от нуля. Таким образ

Нажмите на рекламу ниже и сразу увидите ответ
Популярные вопросы:
Ответ:
bezrodnayamila
06.04.2023 06:48
// PascalABC.NET 3.0, сборка 1144 от 16.01.2016
begin
  var a:=ArrRandom(100,-10,10);
  a.Println;
  Writeln(a.Where(x->x>0).Count,' положительных, ',
    a.Where(x->x<0).Count,' отрицательных')
end.

Тестовое решение:
4 -6 0 8 2 -2 -1 -8 -6 8 -3 7 4 -7 -5 9 0 -3 -7 1 0 -4 6 3 8 -10 4 9 3 5 8 5 5 8 10 4 -8 3 8 8 -9 2 7 -8 -7 -5 2 -9 0 9 -7 7 -2 -6 7 -2 -1 7 -10 2 4 1 -1 0 10 3 -8 6 -6 2 6 7 -1 -4 -1 8 0 3 0 2 -2 2 -1 5 1 -9 -4 1 -9 1 -6 -5 3 -4 -7 1 -7 -3 -7 1
51 положительных, 42 отрицательных
0,0(0 оценок)
Ответ:
rami1991
06.04.2023 06:48
// PascalABC.NET 3.3, сборка 1611 от 06.01.2018
// Внимание! Если программа не работает, обновите версию!

begin
  var a:=ArrRandom(100,-20,20); a.Println;
  Writeln('Положительных ',a.Where(t->t>0).Count,
      ', отрицательных ',a.Where(t->t<0).Count)
end.

Пример
19 7 4 15 15 -16 20 6 1 7 -15 -13 3 0 -10 -17 -14 -16 12 -9 -16 -6 6 10 4 -17 -17 19 20 -12 -18 18 9 -14 -17 -11 6 4 -8 -20 -2 18 -3 -6 -6 -12 -8 -8 -11 13 -6 19 19 3 -14 4 -19 14 -10 11 -19 -19 6 -8 4 -13 -2 -4 -3 -19 -2 3 12 11 14 -13 18 -9 -4 -4 12 11 9 -14 14 -17 20 -15 20 -1 -12 13 -7 1 20 -4 -9 -16 10 -13
Положительных 45, отрицательных 54
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота