Шаги решения:
1. Подсчитать количество отрезков длиной 1 и количество отрезков длиной 2 (пусть это будет переменная count1 и count2 соответственно).
2. Определить, сколько максимально прямоугольников длины 2 можно сделать из отрезков длиной 2.
Для этого необходимо разделить count2 на 2 и округлить результат вниз. Пусть это будет переменная rectangles2.
3. Определить остаток от деления от count2 на 2 и сохранить в переменную remainder2.
4. Определить, сколько отрезков длиной 1 осталось. Для этого нужно вычесть из count1 переменную remainder2 и сохранить результат в переменную count1_remainder.
5. Определить, сколько максимально прямоугольников длины 1 можно сделать из отрезков длиной 1 и остатка от деления от count2.
Для этого необходимо разделить count1_remainder на 4 и округлить результат вниз. Пусть это будет переменная rectangles1.
6. Определить остаток от деления от count1_remainder на 4 и сохранить в переменную remainder1.
7. Определить общее количество прямоугольников, которые можно сделать из отрезков, как сумму rectangles1 и rectangles2. Пусть это будет переменная total_rectangles.
8. Определить, сколько отрезков длиной 1 осталось недостроенными. Для этого нужно умножить remainder1 на 1.
9. Определить общую площадь прямоугольников, которые удалось построить, как сумму площадей прямоугольников длиной 1 и прямоугольников длиной 2 (rectangles1 * 1 + rectangles2 * 2). Пусть это будет переменная total_area.
10. Вывести на экран значение total_area и total_rectangles.
Общая сложность алгоритма: O(1).