1904. 可持久化线段树分治

nn 个人坐成一排开会,编号从 11nn,第 ii 个人基础能力是 aia_i。第 ii 个人与第 i1i-1 个人的沟通速率为 bib_i。区间在 [l,r],l<r[l,r],l < r 的人可以组成讨论组,若讨论组内沟通速率均不小于 kk,即 bl+1,bl+2,,brkb_{l+1},b_{l+2},\cdots,b_r\ge k,则该讨论组的等级是 kk。在讨论组内任选两个人 u,vu,v,他们的贡献是 auava_ua_v,则该讨论组的贡献是最大的 auava_ua_v

nn 个询问,每次问对给定的等级 xx,能成立多少个至少 xx 级的讨论组,以及所有这些讨论组里,贡献最大的组贡献是多少。

输入

输入一行一个整数 n(1n106)n(1\le n\le 10^6)

接下来输入一行 nn 个整数,第 ii 个整数代表 ai(ai109)a_i(|a_i|\le10^9)

接下来输入一行 n1n-1 个整数,第 ii 个整数 bi+1(1bi+1<n)b_{i+1}(1\le b_{i+1} < n) 且保证 bb 值域连续,即若存在某个 bj=cb_j=c,则对所有 1c<c1\le c'< c 必然存在至少一个整数 bk=cb_k=c'

输出

输出 nn 行,第 ii 行输出两个整数,为等级 ii 的讨论组数目和等级 ii 的最大贡献讨论组的贡献值。

样例

标准输入 复制文本
10
7 4 8 3 4 4 7 1 9 2
2 3 2 1 1 3 2 1 3
标准输出 复制文本
45 72
10 56
3 32
0 0
0 0
0 0
0 0
0 0
0 0
0 0
标准输入 复制文本
12
-12 9 -6 3 -10 7 -4 1 11 -8 5 -2
2 5 8 2 4 7 10 1 3 6 9
标准输出 复制文本
66 120
34 120
15 55
12 40
9 27
7 16
5 7
3 -4
2 -4
1 -4
0 0
0 0

提示

对样例一:

x=3x=3 ,有且仅有讨论组 [2,3],[6,7],[9,10][2,3],[6,7],[9,10],故有 33 个讨论组,且最大贡献在 [2,3][2,3] 取得,为 4×8=324\times8=32

x=2x=2,有讨论组 [1,2],[1,3],[1,4],[2,3],[2,4],[3,4],[6,7],[6,8],[7,8],[9,10][1,2],[1,3],[1,4],[2,3],[2,4],[3,4],[6,7],[6,8],[7,8],[9,10],共 1010 个,最大值可以在讨论组 [1,3][1,3] 取得 7×8=567\times8=56,也可以在 [1,4][1,4] 取得。

x=1x=1,所有 Cn2=45C_n^2=45 个讨论组都可行,最大值为 8×9=728\times9=72

来源

2022CS杯预选赛

登录以提交代码。
单点时限 2 秒
内存限制 256 MB
提交 11
通过 8