#8922. 擦除序列

擦除序列

Description

黑板上有 nn 个数字,小爱每一次会擦除其中的某个数字,直至所有数字被擦完为止。

每一轮擦除一个数字后,小爱想知道剩下未被擦除的所有数字中,最大连续子段和的值。(在选择最大连续子段和时,不能包含任何被擦除的位置)

Input Format

输入共三行: 第一行:一个正整数 nn,表示原有数字个数 第二行:nn 个正整数 a1,a2,...,ana_1,a_2,...,a_n*​,分别表示原序列的值 第三行:nn 个正整数 p1,p2,...,pnp_1,p_2,...,p_n​,表示每次被擦除数字的位置

  • 对于 30%30\% 的数据,满足 1n1021≤n≤10^2
  • 对于 60%60\% 的数据,满足 1n1041≤n≤10^4
  • 对于 100%100\% 的数据,满足 1n1051≤n≤10^51ai1091≤a_i≤10^9

Output Format

输出共 nn 个数字,分别表示每一轮擦除后,剩下的最大子段和的值,以空格隔开

5
1 2 3 4 5
3 5 2 4 1
9 4 4 1 0

Hint

样例说明:

第1轮:删除第3个数字,得 1 2 X 4 5,此时最大子段和为4+5 第2轮:删除第5个数字,得 1 2 X 4 X,此时最大子段和为4 第3轮:删除第2个数字,得 1 X X 4 X,此时最大子段和为4 第4轮:删除第4个数字,得 1 X X X X,此时最大子段和为1 第5轮:删除第1个数字,得 X X X X X,此时最大子段和为0