printРабочее место участника

printЗадачи

1119. Делимость

Ограничения: время – 1s/2s, память – 32MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Рассмотрим последовательность целых чисел. Расставляя знаки операции + и - между этими числами мы получим разные результаты. Напишите программу, которая проверяет, можно ли расставить знаки операции + и - таким образом, чтобы результат делился на заданное число `K`.
Ввод: в первой троке содержатся два целых числа `N` и `K` (`1 ≤ N ≤ 10000`, `2 ≤ K\ ≤ 100`), разделенных пробелом. Во второй строке последовательность из `N` целых чисел, разделенных пробелом. Все целые не превосходят по абсолютному значению 10000.
Вывод: Напечатайте слово "Divisible", если результат можно сделать делящимся на `K`, и "Not divisible", если нельзя.

Пример ввода

4 7
17 5 -21 15

Пример вывода

Divisible
Пояснение к примеру:
Существует 8 способов расставить знаки + и –
17 + 5 + -21 + 15 = 16
17 + 5 + -21 - 15 = -14
17 + 5 - -21 + 15 = 58
17 + 5 - -21 - 15 = 28
17 - 5 + -21 + 15 = 6
17 - 5 + -21 - 15 = -24
17 - 5 - -21 + 15 = 48
17 - 5 - -21 - 15 = 18
Во втором и четвёртом варианте результат делится на 7 без остатка.
Источник: NEERC ACM ICPC, 1999
loading