Dãy con tăng ngặt (khó)

Đề bài

Mô tả

Cho một dãy a gồm n số nguyên dương.

Bạn thực hiện một chuỗi các bước. Trong mỗi bước, bạn phải lấy phần tử ngoài cùng bên trái hoặc phần tử ngoài cùng bên phải của dãy, ghi lại giá trị và xoá phần tử đó khỏi dãy.

Nhiệm vụ của bạn là thu được một dãy các giá trị tăng ngặt (mỗi số ghi sau phải lớn hơn tất cả các số đã ghi trước đó). Trong tất cả các dãy tăng ngặt có thể tạo được, hãy chọn dãy có độ dài lớn nhất.

Dữ liệu vào

  • Dòng thứ nhất chứa một số nguyên n — số phần tử của dãy.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

  • Dòng thứ nhất in ra k — độ dài lớn nhất của dãy tăng ngặt có thể lấy được.
  • Dòng thứ hai in ra một xâu s có độ dài k, trong đó ký tự thứ jL nếu ở bước thứ j bạn lấy phần tử ngoài cùng bên trái, hoặc R nếu bạn lấy phần tử ngoài cùng bên phải.

Nếu có nhiều đáp án khác nhau, in ra một đáp án bất kỳ.

Ràng buộc

  • 1n2·105
  • 1ai2·105

Ví dụ

Input Output Giải thích
5
1 2 4 3 2
4
LRRR
Lấy 1 (trái) → dãy còn [2, 4, 3, 2]. Lấy 2 (phải) → còn [2, 4, 3]. Lấy 3 (phải) → còn [2, 4]. Lấy 4 (phải). Dãy ghi được: 1, 2, 3, 4.
7
1 3 5 6 5 4 2
6
LRLRLL
Lấy lần lượt các giá trị 1, 2, 3, 4, 5, 6 (dãy tăng ngặt độ dài 6). Có nhiều xâu hợp lệ, ví dụ LRLRRR cũng được chấp nhận.
3
2 2 2
1
L
Chỉ có thể lấy một phần tử; các phần tử còn lại không lớn hơn 2. Đáp án 1\nR cũng được chấp nhận.
4
1 2 4 3
4
LLRL
Có thể lấy toàn bộ 4 phần tử theo thứ tự 1, 2, 3, 4. Đáp án 4\nLLRR cũng được chấp nhận.

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