Олимпиадный тренинг

Задача . B. Приготовление шашлыка


Если кратко, то шашлык — любимое блюдо Мирослава. Шашлык жарится одновременно на нескольких шампурах. В каждый момент времени каждый шампур может быть либо в исходном, либо в перевернутом состоянии.

В этот раз Мирослав разложил параллельно друг другу \(n\) шампуров и пронумеровал их слева направо целыми числами от \(1\) до \(n\). При этом для достижения наибольшего кулинарного эффекта Мирослав плотно прижимает шампуры друг к другу, так что если он переворачивает шампур с номером \(i\), то это так же приводит к переворачиванию \(k\) ближайших шампуров с каждой из сторон от шампура \(i\), то есть шампуров с номерами \(i - k\), \(i - k + 1\), ..., \(i - 1\), \(i + 1\), ..., \(i + k - 1\), \(i + k\) (если такие существуют).

Пусть, например, \(n = 6\) и \(k = 1\). Тогда если Мирослав перевернёт шампур с номером \(3\), то в итоге перевёрнутыми окажутся шампуры с номерами \(2\), \(3\) и \(4\). Если же после этого Мирослав перевернёт шампур с номером \(1\), то перевёрнутыми окажутся шампуры \(1\), \(3\) и \(4\), а шампур \(2\) вернётся в исходное положение (так как перевернется в этой операции).

Как мы уже упоминали выше, искусство приготовления шашлыка требует делать всё вовремя, так что Мирослав хочет научиться переворачивать все \(n\) шампуров за минимальное количество действий. Например, для рассмотренного выше примера \(n = 6\) и \(k = 1\) можно справиться за два действия, просто перевернув шампуры с номерами \(2\) и \(5\).

Помогите Мирославу перевернуть все \(n\) шампуров.

Входные данные

В первой строке записаны два целых числа \(n\) и \(k\) (\(1 \leq n \leq 1000\), \(0 \leq k \leq 1000\)) — количество шампуров, выложенных Мирославом на мангале и количество соседних шампуров с каждой стороны, которые переворачиваются за раз.

Выходные данные

В первой строке выведите целое число \(l\) — минимальное количество действий, которое потребуется совершить Мирославу, чтобы перевернуть все \(n\) шампуров. Далее выведите \(l\) целых чисел от \(1\) до \(n\), обозначающие номер шампура, который требуется перевернуть на соответствующем шаге.

Примечание

В первом примере на первой операции переворачиваются шампуры \(1\), \(2\) и \(3\), а на второй — \(4\), \(5\), \(6\) и \(7\).

Во втором примере правильным ответом также является перевернуть шампуры с номерами \(2\) и \(5\), но если перевернуть шампуры с номерами \(2\) и \(4\), или шампуры с номерами \(1\) и \(5\), то шампур номер \(3\) окажется в исходном состоянии.


Примеры
Входные данныеВыходные данные
1 7 2
2
1 6
2 5 1
2
1 4

time 1000 ms
memory 512 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя