List Removals

Xem PDF

Điểm: 300 (p) Thời gian: 1.0s Bộ nhớ: 512M Input: bàn phím Output: màn hình

Cho một mảng gồm \(N\) phần tử là các số nguyên. Nhiệm vụ của bạn là xoá phần tử trong mảng và báo cáo phần tử đã bị xoá.

Input

  • Dòng đầu tiên gồm số nguyên dương \(N\): kích thước mảng ban đầu. Sau khi xoá một phần tử, các phần tử còn lại sẽ được đánh số lại từ \(1\) tới \(k\), với \(k\) là kích thước mảng hiện tại.
  • Dòng thứ hai gồm \(N\) số nguyên dương \(A_1,A_2,...,A_N\) \((1≤A_i≤10^9)\).
  • Dòng cuối cùng gồm \(N\) số nguyên dương \(P_1,P_2,...,P_N\) \((1≤P_i≤N−i+1)\): vị trí của phần tử bị xoá.

Output

  • In ra phần tử bị xoá theo thứ tự.

Scoring

  • Subtask \(1\) (\(50\%\) số điểm): \(N,Q≤2.10^3\).
  • Subtask \(2\) (\(50\%\) số điểm): \(N,Q≤2.10^5\).

Example

Test 1

Input
5
2 6 1 4 2
3 1 3 1 1 
Output
1 2 2 6 4
Note

Khi thực hiện xóa lần lượt tại các vị trí, mảng sẽ thay đổi như sau \([2,6,1,4,2],[2,6,4,2],[6,4,2],[6,4],[4]\)\([]\).


Bình luận