[CSES 1749] List Removals
Xem dạng PDF
Gửi bài giải
Điểm:
1,00 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
512M
Input:
stdin
Output:
stdout
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, PyPy, Python
Bạn được cho một danh sách gồm ~n~ số nguyên. Nhiệm vụ của bạn là xóa các phần tử khỏi danh sách tại các vị trí cho trước và báo cáo các phần tử đã bị xóa.
Dữ liệu vào
Dòng đầu tiên chứa một số nguyên ~n~: kích thước ban đầu của danh sách. Trong quá trình xử lý, các phần tử được đánh số ~1,2,\dots,k~ với ~k~ là kích thước hiện tại của danh sách.
Dòng thứ hai chứa ~n~ số nguyên ~x\_1,x\_2,\dots,x\_n~: nội dung của danh sách.
Dòng cuối cùng chứa ~n~ số nguyên ~p\_1,p\_2,\dots,p\_n~: các vị trí của các phần tử cần xóa.
Kết quả
In ra các phần tử theo thứ tự chúng bị xóa.
Giới hạn
- ~1 \le n \le 2 \cdot 10^5~
- ~1 \le x\_i \le 10^9~
- ~1 \le p\_i \le n-i+1~
Ví dụ
Dữ liệu vào:
5
2 6 1 4 2
3 1 3 1 1
Kết quả:
1 2 2 6 4
Giải thích: Nội dung của danh sách lần lượt là ~[2,6,1,4,2]~, ~[2,6,4,2]~, ~[6,4,2]~, ~[6,4]~, ~[4]~ và ~[]~.
Bình luận