HX1256H. 丢沙包

提交2 通过2
通过率100%
时间限制1000ms
内存限制128MiB

题目描述

题目描述

夜市里最近在举行丢沙包游戏,如果小珅在连续 q个沙包中打中了所有种类的公仔,小珅就会得到一个终极大奖-阿噗公仔(至臻限定版)。(每种公仔至少被打爆一只)。

这个游戏中有m种公仔,编号为1∼m,每种公仔都有自己的价值,用v1v_{1}∼vmv_m表示。

小珅一共投掷了n次沙包,每次投掷沙包的结果用aia_i表示,显然凭小珅的技术,只要投掷的次数足够多,小珅就一定能打中所有种类公仔,因此小珅准备挑战一下,他想统计出,在这n次投掷沙包中,打中所有种类的公仔最少用了连续的几次沙包,以及在这种情况下打中的公仔总价值是多少。若有多种以最少次数打中所有种类公仔的情况,那么需要找到总价值中的最大值。

输入格式

第一行两个整数 n 和 m。

第二行,m 个整数 v1v_{1},v2v_{2},…,vmv_m,表示每个公仔的价值

第三行 n个整数 a1a_{1},a2a_{2},…,ana_n,分别表示沙包打中的公仔的种类,0 表示没打中。

输出格式

如果小珅无法在这 n 次沙包中打中所有种类的公仔,则输出 −1。 若能打中,则输出共两行: 第 1 行,为一个整数,表示打中所有种类公仔所需要的连续最少次数。 第 2 行,为一个整数,表示打中的公仔的总价值。

12 5
1 2 3 4 5
2 5 3 1 3 2 4 1 0 5 4 3
6
18
3 3
10 20 30
1 2 3
3
60
5 1
100
0 1 0 1 0
1
100
5 3
10 20 30
0 1 2 2 1
-1

提示

样例1说明: 能打中1~5号公仔的最少序列为:

5 3 1 3 2 4, 该序列打中的公仔总价值为:5+3+1+3+2+4=185+3+1+3+2+4=18

3 2 4 1 0 5, 该序列打中的公仔总价值为:3+2+4+1+0+5=153+2+4+1+0+5=15

所以最终输出结果为: 6 18

数据范围

对于 60% 的数据:1≤n≤10001\le n\le 1000,1≤m≤1001\le m\le 100,1≤vi≤1041\le v_i\le 10^{4},保证 aia_i 不为 0。

对于 100% 的数据:1≤n≤1061\le n\le 10^{6},1≤m≤2×1031\le m\le 2\times 10^{3}, 1≤vi≤1091\le v_i\le 10^{9},0≤ai≤m0\le a_i\le m。