List Removals

View as PDF



Problem types
Points: 300 (p) Time limit: 1.0s Memory limit: 512M Input: stdin Output: stdout

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]\)\([]\).


Comments

There are no comments at the moment.