QOJ.ac

QOJ

时间限制: 8 s 内存限制: 1024 MB 总分: 100 可 Hack ✓

#17528. Рик на роликах

统计

На столе лежит прямоугольный лист бумаги размером $W$ на $H$. На листе стоит прямоугольный параллелепипед Rick с размерами $A$ (ширина), $B$ (глубина) и $C$ (высота). Изначально левый и верхний края основания Rick совпадают с левым и верхним краями листа.

Мы можем перекатывать Rick вправо или вниз. При перекатывании Rick вращается вокруг своего правого или нижнего ребра основания. Все грани Rick покрыты невысыхающей краской, поэтому область, с которой соприкасается Rick, окрашивается. Поскольку стол нужно содержать в чистоте, Rick нельзя перекатывать за пределы листа бумаги.

Необходимо переместить Rick так, чтобы его правый и нижний края основания совпали с правым и нижним краями листа, максимизировав при этом площадь окрашенной области на бумаге.

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

В первой строке через пробел заданы размеры Rick $A$, $B$, $C$ и размеры листа бумаги $W$, $H$. ($1 \leq A, B, C, W, H \leq 1\,000\,000$; $A < W$; $B < H$)

Все входные значения являются целыми числами.

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

Если переместить Rick в правый нижний угол невозможно, выведите -1.

В противном случае в первой строке выведите максимальную площадь окрашенной области, а во второй строке — последовательность действий в виде строки, состоящей только из символов R и D. Если $i$-й символ равен R, это означает, что на $i$-м шаге Rick нужно перекатить вправо, а если D — вниз.

Если существует несколько способов достижения максимальной площади, выведите любой из них.

Примеры

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

1 1 1 24 10

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

33
RRRRRRRRRRRRRRRRRRRRRRRDDDDDDDDD

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

3 4 5 6 7

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

-1

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

3 4 5 12 12

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

79
RDRD

Примечание

На рисунке ниже показан процесс перекатывания Rick из третьего примера.

В этом примере Rick можно перекатить в последовательности вниз, вправо, вниз, вправо, однако площадь окрашенной области составит $74$, что не является оптимальным результатом.

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.