trang chủ / đề bài / na_tst_26_c

Danh sách ở Đà Lạt

Đề bài

Mô tả

Minh đang chuẩn bị một danh sách số cho câu lạc bộ tin học ở Đà Lạt. Danh sách ban đầu gồm n số nguyên. Minh được chọn đúng k vị trí trong danh sách, rồi sắp xếp lại các số nằm ở những vị trí đã chọn theo bất kỳ thứ tự nào. Các vị trí không được chọn phải giữ nguyên giá trị ban đầu.

Nhiệm vụ của Minh là tạo ra danh sách nhỏ nhất có thể theo thứ tự từ điển. Một danh sách A nhỏ hơn danh sách B theo thứ tự từ điển nếu tại vị trí đầu tiên mà hai danh sách khác nhau, giá trị của A nhỏ hơn giá trị của B.

Hãy giúp Minh tìm danh sách nhỏ nhất có thể nhận được.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên n và k (2≤k≤n≤200000): độ dài danh sách và số vị trí phải chọn.
  • Dòng thứ hai chứa n số nguyên x1,x2,…,xn (1≤xi≤n): danh sách ban đầu.

Dữ liệu ra

In ra n số nguyên y1,y2,…,yn: danh sách nhỏ nhất theo thứ tự từ điển có thể tạo được.

Ràng buộc

  • 2≤k≤n≤200000
  • 1≤xi≤n

Subtasks

  • Subtask 1 (10% số điểm): 2≤n≤10.
  • Subtask 2 (15% số điểm): 2≤n≤200000 và k=2.
  • Subtask 3 (15% số điểm): 2≤n≤200000 và k=3.
  • Subtask 4 (20% số điểm): 2≤n≤2000.
  • Subtask 5 (20% số điểm): 2≤n≤200000 và 1≤xi≤10 với mọi i.
  • Subtask 6 (20% số điểm): Không có ràng buộc thêm.

Ví dụ

Input Output Giải thích
6 3
6 4 1 5 1 3
1 4 1 5 3 6 Minh chọn các vị trí 1,5,6. Các số ở những vị trí này là 6,1,3; sắp xếp lại thành 1,3,6 thì được [1,4,1,5,3,6]. Không có cách chọn đúng 3 vị trí nào tạo được danh sách nhỏ hơn.
5 5
4 1 5 2 3
1 2 3 4 5 Minh phải chọn cả 5 vị trí, vì vậy có thể sắp xếp toàn bộ danh sách thành [1,2,3,4,5].

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.47 awk 1.3.4 gcc 16.2.0 dotnet 10.0.402 g++ 16.2.0 g++-themis 16.2.0 g++17 16.2.0 g++20 16.2.0 g++23 16.2.0 clang++ 22.1.8 dmd 2.113.0 dart 3.13.6 gforth 0.7.3 gfortran 15.3.0 go 1.27.3 groovyc 5.1.3 javac 26.0.2.1 node 26.12.1 julia 1.13.2 kotlinc 2.4.21 lean 4.35.0 sbcl 2.2.9 lua 5.5.1 nim 2.2.12 fpc 3.2.2 fpc-themis 3.2.2 perl 5.42.3 php 8.5.12 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.15.1 racket 8.7 ruby 4.0.8 rustc 1.99.1 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.4.1 tclsh 8.6 bun 1.4.4 deno 2.9.8 v 0.5.2 zig 0.17.0