TGViewer
Android Live 🤖 Android Live 🤖 @android_live · 5.13K subscribers
Post #355 3.19K
​​Задача «KitKat-подарок на День рождения»
#конкурс

Итак, для участия в конкурсе, необходимо решить следующую задачу:

Аня очень любит KitKat, и у неё недавно появилась фабрика, которая делает KitKat. Также у неё есть друг Лёша, которому она, без сомнения, подарит свой любимый батончик. Но с некоторыми условиями.

Плитка KitKat — это последовательность целых чисел — C длиной N. И Аня решает подарить непрерывную часть этой шоколадки Лёше так, чтобы длина этого сегмента соответствовала месяцу рождения Леши (M), а сумма целых чисел на квадратах была равно его дню рождения (D).

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

Входные данные
N — длина KitKat;
C — последовательность чисел, то есть плитка KitKat;
D — день рождения;
M — месяц рождения.

Выходные данные
Целое число способов, которыми можно разделить плитку шоколада.

Ограничения
1 <= N <=100
1 <= Ci <=5, 0 <= i < N
1 <= D <= 31
1 <= M <= 12

Пример входных данных
5
1 2 1 3 2
3 2

Пример выходных данных
2

Объяснение
Аня хочет подарить Лёше последовательность из 2 частей KitKat, которые в сумме дают 3. Этому удовлетворяют следующие последовательности:
• C0 + C1 = 1+2 = 3
• C1 + C2 = 2+1 = 3

Шаблоны на языке Java и Kotlin

Условия конкурса
1. Решения принимаются в течении 48 часов, то есть до 1 апреля 2020 года, 18:00. Необходимо отправить только тело функции.
2. Отправить можно только одно решение.
3. Можно исправлять отправленное решение неограниченное количество раз. Принятым будет считаться решение, отправленное последним.
4. Победителем будет являться самое короткое тело функции func().
5. В подсчете количества символов учитывается только тело функции. Например, в примере return 0; количество символов равняется 9. Это и определяет длину решения.
6. Переименовывать функцию нельзя, как и изменять входные параметры. В Kotlin убирать return также запрещается.
7. Требований к форматированию нет, важно рабочее решение. Можно убирать пробелы между переменными и писать код в одну строку, если это не нарушит работоспособность решения.
8. В случае одинаковых по длине решений, победитель будет выбран рандомно, а запись с выбором победителя будет опубликована на канале.

Обратите внимание, что решения, которые не удовлетворяют условиям конкурса не будут учитываться при проверке. Очень часто участники забывают о том, что нужно отправить только внутреннюю часть функции (тело функции), а не всю функцию, включая её заголовок, поэтому будьте внимательны при отправке итогового решения.

Также, если кто-то хочет помочь в проверке решений при помощи тестов, то пишите сюда.

Решение нужно отправить в форму. Желаю всем удачи!
More from @android_live
  1. Oct 6, 2026Git --delete-merged На днях узнал про любопытную команду в Git — --delete-merged . Суть пр…
  2. Oct 5, 2026Почему Android-эмулятор жрёт 8 ГБ? На днях попался репозиторий с CLI-тулзой, которая обеща…
  3. Sep 29, 2026Post #1130
  4. Sep 29, 2026На днях попалась вакансия мечты Вроде всё начинается как неплохо: удалёнка, Kotlin/Jetpack…
  5. Sep 28, 2026На днях ревьювил код, связанный с копированием в буфер обмена И заметил, что многие прилож…
  6. Sep 26, 2026AirDrop на Android, похоже, уже есть на нескольких моделях Android Но, оказывается, всё эт…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →