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

Thu nhỏ đống cỏ

Đề bài

Mô tả

N đống cỏ xếp thành một hàng, đống thứ i có chiều cao hi. Bạn có thể hoán đổi hai đống cỏ liền kề bất kỳ số lần, với điều kiện chênh lệch chiều cao của chúng không vượt quá K.

Hãy tìm dãy chiều cao theo thứ tự nhỏ nhất theo thứ tự từ điển có thể đạt được.

Dữ liệu vào

Dòng đầu tiên chứa hai số nguyên NK.

  • N dòng tiếp theo, dòng thứ i chứa số nguyên hi.

Dữ liệu ra

In ra N dòng: chiều cao các đống cỏ sau khi sắp xếp theo thứ tự nhỏ nhất từ điển.

Ràng buộc

  • 1N105
  • 1hi109
  • 1K109

Subtask 1 (10%): N100

Subtask 2 (20%): N5000

Subtask 3 (70%): Không có ràng buộc thêm.

Ví dụ

Input Output Giải thích
5 3
7
7
3
6
2
6
7
7
2
3
Đống h5=2 muốn lên đầu nhưng bị chặn bởi h4=6 (chênh 4>3). Đống h3=3 có thể vượt qua h4=6 (chênh 33) nhưng bị chặn bởi h1=7 (chênh 4>3). Đống h4=6 có thể vượt h1=7 (chênh 13) và h2=7 (chênh 13), lên vị trí đầu tiên. Kết quả tối ưu là 6,7,7,2,3.
4 2
3
1
4
2
1
2
3
4
Đống h2=1 vượt qua h1=3 (chênh 22), lên đầu. Tiếp theo h4=2 vượt qua h3=4 (chênh 22) rồi h1=3 (chênh 12), lên đầu. Dãy kết quả là 1,2,3,4.

Ghi chú

Dãy A nhỏ hơn dãy B theo thứ tự từ điển nếu tồn tại chỉ số i đầu tiên mà Ai<Bi.

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