Codeforces Round 236 (Div. 2) |
---|
Закончено |
В саду королевы Англии растут n деревьев, выстроенных в ряд. Причем i-е (1 ≤ i ≤ n) слева дерево имеет высоту ai метров. Сегодня королева решила обновить виды своего сада. Она хочет, чтобы для высот деревьев выполнялось условие: для всех i (1 ≤ i < n), ai + 1 - ai = k, где k — выдуманное королевой число.
К сожалению, у королевского садовника не тысяча рук, и он не может выполнить желание королевы моментально! За одну минуту садовник может либо уменьшить высоту некоторого дерева до любой целой положительной высоты, либо увеличить высоту некоторого дерева до любой целой положительной высоты. Как нужно действовать королевскому садовнику, чтобы выполнить прихоть его величества за минимальное количество минут?
В первой строке заданы два целых числа через пробел: n, k (1 ≤ n, k ≤ 1000). Во второй строке задано n целых чисел через пробел a1, a2, ..., an (1 ≤ ai ≤ 1000) — высоты деревьев в ряду.
В первой строке выведите единственное число p — минимальное количество минут, которое потребуется садовнику. В следующих p строках выведите описание его действий.
Если садовнику требуется увеличить высоту j-го (1 ≤ j ≤ n) слева дерева на x (x ≥ 1) метров, то в соответствующей строке выведите «+ j x». Если садовнику требуется уменьшить высоту j-го (1 ≤ j ≤ n) слева дерева на x (x ≥ 1) метров, то в соответствующей строке выведите «- j x».
Если существует несколько способов сделать ряд из деревьев красивым за минимальное количество действий, разрешается вывести любой.
4 1
1 2 1 5
2
+ 3 2
- 4 1
4 1
1 2 3 4
0
Название |
---|