#CCBCHBAHAI0000080. Tách âm - zero - dương vào ba mảng (Split Negative, Zero, and Positive Values)
Tách âm - zero - dương vào ba mảng (Split Negative, Zero, and Positive Values)
Tách âm - zero - dương vào ba mảng (Split Negative, Zero, and Positive Values)
Nguồn: Phước Hưng OJ
Phiên bản: Phước Hưng OJ Extended
Đề bài
Cho mảng số nguyên .
Tách mảng thành ba dãy con ổn định:
$$N=[a_i\mid a_i<0],\qquad Z=[a_i\mid a_i=0],\qquad P=[a_i\mid a_i>0],$$trong đó mỗi dãy giữ nguyên thứ tự xuất hiện của các phần tử trong mảng ban đầu.
Gọi kích thước ba dãy lần lượt là , , . Khi đó
Input
Dòng đầu chứa . Dòng thứ hai chứa số nguyên .
Output
In ba dòng theo thứ tự nhóm âm, nhóm bằng , nhóm dương. Mỗi dòng bắt đầu bằng kích thước logic của nhóm, sau đó là các phần tử của nhóm; nhóm rỗng chỉ in 0.
Subtask
Subtask 1 (20 điểm): , .
Subtask 2 (30 điểm): , .
Subtask 3 (50 điểm): , .
Ví dụ
Input
8
-4 0 7 -1 0 3 -9 2
Output
3 -4 -1 -9
2 0 0
3 7 3 2
Giải thích
Các phần tử được phân vào đúng ba nhóm theo dấu và thứ tự trong từng nhóm không thay đổi.