Codeforces Round 378 (Div. 2) |
---|
Закончено |
В Монстрополисе эпидемия, все монстры заболели унынием. Чтобы вылечиться, все монстры выстроились на приём к единственному врачу в городе в очередь.
Вскоре монстры проголодались и начали съедать друг друга. Один монстр может съесть другого, если его масса строго больше съедаемого, и они стоят в очереди рядом. Монстры съедают друг друга мгновенно. Никакие два монстра не съедаются одновременно. Когда монстр A съедает монстра B, то масса монстра A увеличивается на массу съеденного монстра B. В результате такого съедания длина очереди уменьшается на единицу, очередь «схлопывается» в позиции съеденного монстра. Один и тот же монстр может съесть последовательно несколько других монстров. Изначально в очереди стояло n монстров, i-й из которых имел массу ai.
Например, если массы монстров в порядке очереди были равны [1, 2, 2, 2, 1, 2] (считайте, что монстры пронумерованы от 1 до 6 слева направо), то некоторые из возможных вариантов:
Через некоторое время кто-то очень успешно пошутил, и все монстры вылечились. В итоге осталось k (k ≤ n) монстров, j-й из которых имеет массу bj. Обе последовательности (и a, и b) содержат массы монстров в порядке очереди от первого в очереди к последнему.
От вас требуется предложить один из возможных порядков поедания монстров монстрами, приведший к текущей очереди, или определить, что такого не могло случиться. За время до излечения всех монстров врач не совершил ни одного приема.
В первой строке входных данных содержится целое число n (1 ≤ n ≤ 500) — количество монстров в очереди изначально.
Во второй строке входных данных содержится n целых чисел a1, a2, ..., an (1 ≤ ai ≤ 106) — массы монстров изначально.
В третьей строке входных данных содержится целое число k (1 ≤ k ≤ n) — количество монстров в очереди после излечения.
В четвёртой строке входных данных содержится k целых чисел b1, b2, ..., bk (1 ≤ bj ≤ 5·108) — массы монстров после излечения.
Монстры перечислены в порядке их стояния в очереди от начала к концу.
В случае, если ни какие действия не могли привести к конечной очереди, в единственной строке выходных данных выведите «NO» (без кавычек).
Иначе, в первой строке выходных данных выведите «YES» (без кавычек). В следующих n - k строках выведите действия в хронологическом порядке. В каждой строке выводите x — порядковый номер монстра в текущей очереди, который будет есть, и через пробел символ 'L', если монстр, стоящий x-м по порядку в очереди, ест монстра, стоящего перед ним в очереди, или 'R', в случае, когда монстр, стоящий x-м по порядку в очереди, ест монстра, стоящего за ним в очереди. После очередного съедания очередь пронумеровывается заново.
Когда один монстр съедает другого, очередь схлопывается. Если решений несколько, выведите любое из них.
6
1 2 2 2 1 2
2
5 5
YES
2 L
1 R
4 L
3 L
5
1 2 3 4 5
1
15
YES
5 L
4 L
3 L
2 L
5
1 1 1 3 3
3
2 1 6
NO
В первом примере изначально в очереди находилось n = 6 монстров, их массы в порядке очереди были [1, 2, 2, 2, 1, 2]. В результате должны остаться два монстра массами [5, 5]. Такое возможно, например, при следующей последовательности действий:
Обратите внимание, что при выводе съеданий используется нумерация монстров в их текущем порядке в очереди.
Название |
---|