Вектор
Ограничения: время – 2s/4s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод
Послать решение Blockly Посылки Темы Где Обсудить (0)
Дан целочисленный вектор `p_1,\ p_2,\ …,\ p_N`. Над любым вектором,
состоящим из двух и более элементов, определим операцию сжатия,
состоящую в замене произвольной пары соседних элементов на их сумму.
Например, вектор `1\ 2\ 3` в результате сжатия может превратиться в
вектор `3\ 3` либо `1\ 5`.
Требуется путем последовательного применения операции сжатия получить из
исходного вектора вектор максимально возможной длины, все элементы которого
не меньше `A` и не больше `B`.
Ввод
Входной файл содержит тройку чисел `N\ A\ B`, за которой следует `N` чисел `p_i`.
Все числа во входном файле целые.
`1\ ≤\ N\ ≤\ 1000`, `0\ ≤\ A,\ B,\ p_i\ ≤\ 10^6`.
Вывод
Выходной файл должен содержать длину результирующего вектора, за которой
следуют его элементы.
Если решений не существует, вывести единственное число `0`.
Если решений несколько, вывести любое из них.
Пример ввода 1
7 3 6
3 1 1 1 2 2 2
Пример ввода 2
7 3 3
3 1 1 1 2 2 2
Пример ввода 3
6 20 50
29 5 19 37 43 5
Пример вывода 3
4
29 24 37 48
Источник: И. Бураго, Дальневосточная краевая олимпиада, 2008