题目描述
现在在你面前从左到右排列着 N 个石子,每个石子有一个价值 ai 和一个种类 ki ,假设你现在选择了区间 [L, R] ,且满足 kL = kR ,那么你将获得这个区间内所有的石子的价值,即所有 ai 的和。请问在一下条件下,你如何选择才能获得的最多的价值呢?请输出这个最多的价值。
条件1:你可以选择任意个区间,但是每个区间之间不能相交。
条件2:你需要保证你选择的每个区间长度均大于等于 S 。
当然,如果没有满足上述条件的区间,输出 0 。
输入
第一行两个整数 N (1<= N <= 1000000),S(2 <= S <= N),含义如题意所述;
第二行一个长度为 N 的数组 a,表示每个石子的价值,保证 ai 在int范围内且为正整数;
第三行一个长度为 N 的数组 k(1 <= ki <= 1000) 表示每个石子的种类。
10 2
1000 20 100 2 4 100 1000 1000 1000 1000
1 2 3 3 2 1 1 2 3 2