Chồng Bài

Đề bài

Mô tả

Bạn có một chồng gồm n lá bài, đánh số từ trên xuống dưới: lá trên cùng có chỉ số 1, lá dưới cùng có chỉ số n. Lá bài thứ i có màu ai.

Bạn cần xử lý q truy vấn. Truy vấn thứ j cho một màu tj. Với mỗi truy vấn, bạn phải:

  • tìm lá bài cao nhất trong chồng có màu tj, tức là lá có chỉ số nhỏ nhất trong các lá màu tj;
  • in ra vị trí (chỉ số) của lá vừa tìm được;
  • lấy lá đó ra và đặt lên trên cùng của chồng bài.

Khi một lá được đưa lên trên cùng, mọi lá vốn nằm phía trên nó bị đẩy xuống một vị trí.

Dữ liệu đảm bảo mỗi truy vấn chỉ hỏi màu có xuất hiện trong chồng bài.

Dữ liệu vào

  • Dòng đầu chứa hai số nguyên nq: số lá bài và số truy vấn.
  • Dòng thứ hai chứa n số nguyên a1,a2,,an: màu của các lá bài.
  • Dòng thứ ba chứa q số nguyên t1,t2,,tq: màu của các truy vấn.

Dữ liệu ra

In ra q số nguyên: đáp án cho từng truy vấn theo thứ tự.

Ràng buộc

  • 2n3·105
  • 1q3·105
  • 1ai50
  • 1tj50

Ví dụ

Input Output Giải thích
7 5
2 1 1 4 3 3 1
3 2 1 1 4
5 2 3 1 5 Chồng bài là [2, 1, 1, 4, 3, 3, 1], lá màu 3 cao nhất ở vị trí 5, đưa lên trên: [3, 2, 1, 1, 4, 3, 1]. Màu 2 ở vị trí 2 → [2, 3, 1, 1, 4, 3, 1]. Màu 1 ở vị trí 3 → [1, 2, 3, 1, 4, 3, 1]. Màu 1 ở vị trí 1 → không đổi. Màu 4 ở vị trí 5.
5 2
6 4 3 2 1
1 6
5 2 Màu 1 ở vị trí 5, đưa lên trên: [1, 6, 4, 3, 2]. Màu 6 giờ ở vị trí 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.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