Sắp xếp hiệu liền kề

Đề bài

Mô tả

Cho một mảng gồm n số nguyên a1,a2,,an.

Hãy sắp xếp lại các số này sao cho thỏa mãn:

|a1a2||a2a3||an1an|,

trong đó |x| là giá trị tuyệt đối của x.

Nói cách khác, các giá trị tuyệt đối của hiệu hai phần tử liên tiếp phải không giảm dọc theo dãy. Luôn tồn tại ít nhất một cách sắp xếp thỏa mãn. Lưu ý các số trong mảng không nhất thiết phân biệt — một số giá trị có thể trùng nhau.

Bạn phải trả lời t bộ dữ liệu độc lập.

Dữ liệu vào

  • Dòng đầu chứa số nguyên t — số lượng bộ dữ liệu.
  • Với mỗi bộ dữ liệu:
    • Dòng đầu chứa số nguyên n — độ dài mảng.
    • Dòng thứ hai chứa n số nguyên a1,a2,,an.

Dữ liệu ra

Với mỗi bộ dữ liệu, in ra một hoán vị của mảng a thỏa mãn điều kiện đã cho. Nếu có nhiều đáp án hợp lệ, in ra bất kỳ đáp án nào.

Ràng buộc

  • 1t104
  • 3n105
  • Tổng n trên tất cả các bộ dữ liệu không vượt quá 105.
  • 109ai109

Ví dụ

Input Output Giải thích
2
6
5 -2 4 8 6 5
4
8 1 4 2
5 5 4 6 -2 8
2 4 1 8
Với bộ 1: các hiệu là 55=054=146=26(2)=828=10. Với bộ 2: 24=241=318=7. Có thể có đáp án khác, ví dụ "5 4 5 6 -2 8".
1
3
1 1 1
1 1 1 Mọi hiệu đều bằng 0, điều kiện luôn thỏa mã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 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