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

Nhảy cóc trong mảng

Đề bài

Mô tả

Xét một mảng gồm 2n1 ô, đánh số từ 1 đến 2n1. Ban đầu, với mỗi i từ 1 đến n, số i được đặt tại ô có chỉ số 2i1; tất cả các ô còn lại đều rỗng.

Ở mỗi bước, ta chọn ô không rỗng có chỉ số lớn nhất và chuyển số đang nằm trong ô đó sang ô rỗng gần nhất về phía bên trái của nó. Quá trình lặp lại cho đến khi cả n số cùng nằm trong n ô đầu tiên của mảng.

Cho q truy vấn, mỗi truy vấn gồm một chỉ số x. Với mỗi truy vấn, hãy cho biết số nào nằm ở ô x sau khi quá trình kết thúc.

Dữ liệu vào

  • Dòng đầu tiên chứa hai số nguyên nq: số lượng phần tử và số truy vấn.
  • q dòng tiếp theo, mỗi dòng chứa một số nguyên xi: chỉ số của ô cần biết giá trị.

Dữ liệu ra

In ra q dòng, dòng thứ i là số nằm ở ô xi sau khi quá trình kết thúc.

Ràng buộc

  • 1n1018
  • 1q200000
  • 1xin

Ví dụ

Input Output Giải thích
4 3
2
3
4
3
2
4
Mảng 7 ô ban đầu chứa 1,_,2,_,3,_,4. Số 4 ở ô 7 chuyển sang ô 6, rồi từ ô 6 chuyển tiếp sang ô 4. Khi đó ô không rỗng có chỉ số lớn nhất là ô 5 chứa số 3, số này chuyển sang ô 2. Mảng cuối cùng là 1,3,2,4.
13 4
10
5
4
8
13
3
8
9
Mảng cuối cùng là 1,12,2,8,3,11,4,9,5,13,6,10,7.
3 3
3
2
1
2
3
1
Số 3 ở ô 5 chuyển sang ô 4, rồi từ ô 4 chuyển sang ô 2. Mảng cuối cùng là 1,3,2.

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.400 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.2 gforth 0.7.3 gfortran 12.2.0 go 1.27.0 groovyc 5.1.1 javac 25.0.4 node 26.8.1 julia 1.12.7 kotlinc 2.4.10 lean 4.33.1 sbcl 2.2.9 lua 5.4.9 nim 2.2.10 fpc 3.2.2 fpc-themis 3.2.2 perl 5.36.0 php 8.5.10 pike 8.0 swipl 9.0.4 pypy3 7.3.23 python3 3.14.7 racket 8.7 ruby 4.0.6 rustc 1.98.0 csc 5.3.0 ctoj-scratch 0.0.1 sed 4.9 swiftc 6.3.3 tclsh 8.6 bun 1.4.0 deno 2.9.6 v 0.5.2 zig 0.16.0