Задача состоит в вычислении высоты здания после реформы.
Шаги решения:
1. Считываем число п, обозначающее количество строк с высотами зданий.
2. Создаем пустой массив для хранения высот зданий.
3. Считываем п строк с высотами зданий и сохраняем их в массив.
4. Считываем число g, обозначающее процент реформированных зданий.
5. Вычисляем количество зданий, которые нужно реформировать, как процент от общего числа зданий (g% от п).
6. Создаем переменную cnt, равную 0, для подсчета общего количества реформированных зданий.
7. В цикле для каждого реформированного здания читаем строку d.
8. Если строка d равна “left” или “right”, то это означает, что здание нужно сместить влево или вправо.
9. Изменяем позицию этого здания в массиве, сдвигая его влево или вправо соответственно.
10. Если строка d содержит два числа, значит это означает, что здание нужно увеличить или уменьшить свою высоту.
11. Изменяем высоту здания, добавляя или вычитая число у из уровня здания.
12. Увеличиваем cnt на 1, так как обработали одно реформированное здание.
13. Если cnt стал равным количеству реформированных зданий, останавливаем цикл.
14. Выводим все высоты зданий в массиве через пробел.
Таким образом, после выполнения всех шагов алгоритма мы получим конечные высоты зданий после реформы.