#CCBCHBAHAI0000047. Mô phỏng danh sách tĩnh với Q lệnh insert/delete (Simulate a Fixed-Capacity List with Q Insert/Delete Commands)
Mô phỏng danh sách tĩnh với Q lệnh insert/delete (Simulate a Fixed-Capacity List with Q Insert/Delete Commands)
Mô phỏng danh sách tĩnh với Q lệnh insert/delete (Simulate a Fixed-Capacity List with Q Insert/Delete Commands)
Nguồn: Phước Hưng OJ
Phiên bản: Phước Hưng OJ Extended
Đề bài
Có một mảng tĩnh có sức chứa tối đa phần tử và kích thước logic ban đầu là , với
Các phần tử hiện có là . Sau đó có lệnh, được xử lý đúng theo thứ tự xuất hiện.
Có hai loại lệnh:
I p x: yêu cầu chèn giá trị tại chỉ số . Lệnh hợp lệ khi đồng thời
Nếu hợp lệ, các phần tử cũ ở chỉ số dịch sang phải một vị trí, được đặt tại chỉ số , rồi tăng thêm . Nếu không hợp lệ, lệnh bị bỏ qua và trạng thái không đổi.
D p: yêu cầu xóa phần tử tại chỉ số . Lệnh hợp lệ khi
Nếu hợp lệ, các phần tử ở bên phải dịch sang trái một vị trí rồi giảm . Nếu không hợp lệ, lệnh bị bỏ qua.
Sau khi xử lý đủ lệnh, hãy in kích thước logic cuối cùng và các phần tử còn lại.
Input
Dòng đầu chứa ba số nguyên . Dòng thứ hai chứa số nguyên ban đầu; nếu , dòng này có thể rỗng. Mỗi trong dòng tiếp theo chứa một lệnh I p x hoặc D p theo định nghĩa ở trên.
Output
Dòng đầu in kích thước logic cuối cùng . Nếu , dòng thứ hai in toàn bộ mảng hiện tại theo thứ tự.
Subtask
Subtask 1 (100 điểm): ; ; ; ; .
Ví dụ
Input
5 3 5
10 20 30
I 1 15
D 2
I 3 40
I 4 50
I 0 99
Output
5
10 15 30 40 50
Giải thích
Sau bốn lệnh đầu, mảng trở thành 10 15 30 40 50 và đã đầy vì . Lệnh cuối I 0 99 bị bỏ qua do không còn sức chứa.