trang chủ / bài tập / monsteat

Dịch bệnh ở Monstropolis

Đề bài

Mô tả

n con quái vật xếp thành một hàng, con thứ i có cân nặng ai. Chúng bắt đầu ăn thịt lẫn nhau theo quy tắc sau:

Một con quái vật có thể ăn một con đứng ngay cạnh nó (ngay trước hoặc ngay sau trong hàng) nếu cân nặng của nó lớn hơn thực sự cân nặng của con bị ăn. Sau khi con A ăn con B, cân nặng của A tăng thêm đúng bằng cân nặng của B, con B biến mất khỏi hàng và những con phía sau dồn lên để hàng không có chỗ trống. Mỗi lần chỉ có một con bị ăn, và một con quái vật có thể ăn liên tiếp nhiều con.

Sau một thời gian, trong hàng còn lại k con quái vật, con thứ j có cân nặng bj (vẫn tính theo thứ tự từ đầu đến cuối hàng).

Hãy đưa ra một thứ tự ăn thịt bất kỳ dẫn từ hàng ban đầu đến hàng cuối cùng, hoặc xác định rằng điều đó không thể xảy ra.

Dữ liệu vào

  • Dòng đầu chứa số nguyên n: số quái vật ban đầu.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an: cân nặng ban đầu.
  • Dòng thứ ba chứa số nguyên k: số quái vật còn lại.
  • Dòng thứ tư chứa k số nguyên b1,b2,,bk: cân nặng lúc sau.

Dữ liệu ra

Nếu không có thứ tự ăn nào dẫn đến hàng cuối cùng, in ra một dòng duy nhất NO.

Ngược lại, in ra YES ở dòng đầu tiên. Trong nk dòng tiếp theo, in ra các hành động theo đúng thứ tự thời gian. Mỗi dòng chứa số nguyên x: vị trí (đánh số từ 1) của con quái vật trong hàng hiện tại thực hiện việc ăn, cách nhau một dấu cách là ký tự L nếu nó ăn con đứng ngay trước nó, hoặc R nếu nó ăn con đứng ngay sau nó. Sau mỗi lần ăn, hàng được đánh số lại từ đầu.

Nếu có nhiều đáp án, in ra bất kỳ đáp án nào.

Ràng buộc

  • 1n500
  • 1ai106
  • 1kn
  • 1bj5·108

Ví dụ

Input Output Giải thích
5
1 1 1 3 3
3
2 1 6
NO Để có được b1=2, hai con đầu tiên (cùng nặng 1) phải hợp lại, nhưng không con nào ăn được con kia vì cân nặng bằng nhau. Không thể.
6
1 2 2 2 1 2
2
5 5
YES
2 L
1 R
2 R
2 R
Nhóm [1,2,2] hợp thành 5 và nhóm [2,1,2] hợp thành 5. Con thứ 2 ăn con trước nó, rồi tiếp tục ăn để tạo ra hàng [5,5].
5
1 2 3 4 5
1
15
YES
5 L
4 L
3 L
2 L
Con nặng nhất (5) lần lượt ăn con đứng trước nó cho đến khi nuốt hết cả hàng, đạt cân nặng 15.

Bình luận

Không có bình luận tại thời điểm này.

gnatmake 12.2.0 a68g 3.1.2 nasm 2.16.1 as_x64 2.46 awk 1.3.4 gcc 16.1.0 csc 6.12.0.200 g++ 16.1.0 g++-themis 16.1.0 g++17 16.1.0 g++20 16.1.0 g++23 16.1.0 clang++ 22.1.6 dmd 2.112.0 dart 3.12.1 gforth 0.7.3 gfortran 12.2.0 go 1.26.3 groovyc 5.0.6 javac 25.0.3 node 26.2.0 kotlinc 2.3.21 sbcl 2.2.9 lua 5.4.8 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.6 pike 8.0 pypy3 7.3.23 python3 3.14.5 racket 8.7 ruby 4.0.5 rustc 1.96.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 tclsh 8.6 bun 1.3.14 deno 2.8.1 v 0.5.1 zig 0.16.0