PQUEUE - Thao tác với hàng đợi ưu tiên

Xem dạng PDF

Gửi bài giải

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

Tác giả:
Dạng bài
Ngôn ngữ cho phép
C, C#, C++, Go, Java, Pascal, Perl, PHP, Python, Ruby, Rust, Scratch, Swift

Cho trước một danh sách rỗng. Người ta xét hai thao tác trên danh sách đó:

  • Thao tác +V (ở đây ~V~ là một số nguyên): Nếu danh sách đang có ít hơn ~15000~ phần tử thì thao tác này bổ sung thêm phần tử ~V~ vào danh sách; Nếu không, thao tác này không có hiệu lực.
  • Thao tác - : Nếu danh sách đang không rỗng thì thao tác này loại bỏ tất cả các phần tử lớn nhất của danh sách; Nếu không, thao tác này không có hiệu lực.

Sau ~N~ thao tác, hãy liệt kê các phần tử còn lại trong danh sách (theo thứ tự giảm dần).

Input

  • Dòng đầu chứa số nguyên dương ~N~ là số thao tác;
  • ~N~ dòng tiếp theo cho biết thông tin của các thao tác (các thao tác được liệt kê theo đúng thứ tự thực hiện).

Giới hạn:

  • ~1 ≤ N ≤ 10^5; 0 ≤ V ≤ 10^9~.

Output

  • Dòng đầu ghi số lượng các giá trị còn lại trong danh sách;
  • Dòng hai liệt kê các phần tử còn lại (theo thứ tự giảm dần), hai số liên tiếp ghi cách nhau một dấu cách.

Sample

Input #1
13
+1
+3
+2
+3
-
+4
+4
-
+2
+9
+7
+8
-
Output #1
4
8 7 2 1

Problem source: Chuyên Sơn La Online Judge


Bình luận

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



  • 0
    thangtrung1101  đã bình luận lúc 22, Tháng 8, 2023, 14:44

    Test case #10 bài em sai ở đâu vậy anh admin:[