Hai dãy bị xáo trộn

Đề bài

Mô tả

Ban đầu có hai dãy số nguyên: một dãy tăng nghiêm ngặt x1<x2<<xk và một dãy giảm nghiêm ngặt y1>y2>>yl. Dãy rỗng hoặc dãy gồm một phần tử đều được coi là vừa tăng vừa giảm nghiêm ngặt.

Hai dãy được trộn vào nhau thành dãy a độ dài n=k+l, sau đó a bị xáo trộn (hoán vị tùy ý).

Cho dãy a sau khi xáo trộn, hãy khôi phục bất kỳ cặp dãy tăng nghiêm ngặt và giảm nghiêm ngặt nào có thể trộn lại thành đúng đa-tập a. Nếu không tồn tại cặp như vậy, in ra "NO".

Dữ liệu vào

  • Dòng đầu chứa số nguyên n — độ dài của a.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

Nếu không thể tách dãy thành hai dãy (tăng và giảm nghiêm ngặt), in ra một dòng "NO".

Ngược lại, in ra "YES" ở dòng đầu, rồi:

  • Dòng 2: ni — số phần tử của dãy tăng nghiêm ngặt (ni có thể bằng 0).
  • Dòng 3: ni số của dãy tăng theo đúng thứ tự tăng. Nếu ni=0 thì in dòng trống.
  • Dòng 4: nd — số phần tử của dãy giảm nghiêm ngặt (nd có thể bằng 0).
  • Dòng 5: nd số của dãy giảm theo đúng thứ tự giảm. Nếu nd=0 thì in dòng trống.

Phải có ni+nd=n và hợp của hai dãy in ra (theo đa-tập) phải đúng bằng a.

Nếu có nhiều đáp án, in ra một đáp án bất kỳ thỏa mãn.

Ràng buộc

  • 1n2·105
  • 0ai2·105

Ví dụ

Input Output Giải thích
7
7 2 7 3 3 1 4
YES
5
1 2 3 4 7
2
7 3
Dãy tăng [1,2,3,4,7] và dãy giảm [7,3] trộn lại đúng bằng đa-tập {1,2,3,3,4,7,7}.
5
0 1 2 3 4
YES
5
0 1 2 3 4
0
Tất cả phần tử đôi một khác nhau nên có thể xếp toàn bộ vào dãy tăng; dãy giảm rỗng (dòng cuối là dòng trống).
5
1 1 2 1 2
NO Giá trị 1 xuất hiện 3 lần. Trong hai dãy đơn điệu nghiêm ngặt, mỗi giá trị xuất hiện nhiều nhất 2 lần (một lần trong dãy tăng, một lần trong dãy giảm) nên không thể tách được.

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