Các lượt nộp
    Danh sách bài
    Trang chủ
    Báo lỗi

    solution

    Đề bài: [Giải thuật] Hàng đợi ưu tiên hai đầu

    Cài đặt một hàng đợi ưu tiên hai đầu. Xử lý qqq thao tác:

    • 1 x: thêm số nguyên xxx.
    • 2: lấy ra và in phần tử nhỏ nhất (xóa khỏi tập). Nếu rỗng in EMPTY.
    • 3: lấy ra và in phần tử lớn nhất. Nếu rỗng in EMPTY.

    Nếu có nhiều phần tử bằng nhau, mỗi thao tác lấy một bản. Gợi ý: hai heap + xóa lười.

    • Định dạng đầu vào:

      Dòng đầu: qqq. qqq dòng thao tác như mô tả.

    • Ràng buộc đầu vào:

      1≤q≤5⋅1051 \le q \le 5\cdot10^51≤q≤5⋅105, ∣x∣≤109|x| \le 10^9∣x∣≤109.

    • Định dạng đầu ra:

      Mỗi thao tác 2/3 in một dòng (giá trị hoặc EMPTY).

    Ví dụ:

    Đầu vào:

    6
    1 5
    1 1
    1 9
    2
    3
    2
    

    Đầu ra:

    1
    9
    5

    Giải thích:

    Tập {5,1,9}. Lấy nhỏ nhất → 1. Lấy lớn nhất → 9. Lấy nhỏ nhất còn lại → 5.

    Đang tải editor...