Câu 3. Phần tử thiếu (5,0 điểm)(HSG12 - Quảng Trị 2025-2026)

Xem dạng PDF

Gửi bài giải

Điểm: 5,00 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Dạng bài
Ngôn ngữ cho phép
C, C++, Java, Kotlin, Pascal, PyPy, Python, Scratch

Alice là một học sinh có đam mê làm việc với các con số. Cậu sưu tầm và lưu lại danh sách các số nguyên dương mà mình thích và gọi đó là những số nguyên dương "đẹp".

Hiện tại, Alice đang sở hữu một danh sách ~A~ gồm ~N~ số nguyên dương: ~A_1, A_2, …, A_N~, các giá trị đó được nhập từ đầu đến cuối.

Các số nguyên dương không xuất hiện trong danh sách ~A~ được gọi là các "phần tử thiếu".

Alice cần trả lời ~Q~ truy vấn, mỗi truy vấn cho một số nguyên dương ~k~. Hãy xác định giá trị phần tử thiếu thứ ~k~ khi liệt kê các phần tử thiếu của danh sách A theo thứ tự tăng dần.

Yêu cầu: Bạn hãy giúp Alice trả lời ~Q~ truy vấn trên.

Dữ liệu vào:

  • Dòng 1: Chứa hai số nguyên dương ~N~ và ~Q~ (~1 ≤ N~, ~Q ≤ 5·10^5~). ~N~ lần lượt là số lượng phần tử trong danh sách và số lượng truy vấn; các giá trị được ghi cách nhau một dấu cách.

  • Dòng 2: Chứa ~N~ số nguyên dương ~A_1, A_2, …, A_N~ (~1 ≤ A_i ≤ 10^{18}~); các giá trị được ghi cách nhau một dấu cách. Dữ liệu đảm bảo danh sách ~A~ được sắp xếp tăng dần.

  • ~Q~ dòng tiếp theo, mỗi dòng chứa một số nguyên dương ~k_i~ (~1 ≤ k_i ≤ 10^{18}~, ~1 ≤ i ≤ Q~), tương ứng với câu hỏi tìm phần tử thiếu thứ ~k_i~.


Kết quả:

  • Gồm ~Q~ dòng, dòng thứ i ghi một số nguyên là giá trị phần tử thiếu thứ ~k_i~ (~1 ≤ i ≤ Q~) trong danh sách ~A~.

Ví dụ:

Input:

5 3
1 3 9 12 17
2
9
19

Output

4
13
24

Giải thích:

  • Phần tử thiếu thứ 2 là 4
    • Phần tử thiếu thứ 9 là 13
    • Phần tử thiếu thứ 19 là 24

Ràng buộc:

  • Có 40% số test tương ứng với 40% số điểm: ~1 ≤ N~, ~Q ≤ 2·10^3~.
    • Có 30% số test tương ứng với 30% số điểm: ~1 ≤ A_i ≤ 10^6~ (~1 ≤ i ≤ N~).
    • Có 30% số test tương ứng với 30% số điểm: không có ràng buộc gì thêm.

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.