小太阳的帕鲁世界2
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

注意:小太阳的帕鲁世界ⅠⅡⅢ 仅在题目名称及背景有所关系,题目之间并无关系也不与难度挂钩。
小太阳成功捕捉到云海鹿了,他已经足够强大了,于是他想要前往禁猎区捕获更稀有的帕鲁!
然而,众所周知的是,云海鹿在海上是无法奔跑的,而云海鹿的体力不足以云海鹿游到禁猎区。因此,小太阳想建造一个石桥来帮助他的云海鹿自由自在的奔跑,但他身上携带的石头不够,请你帮助小太阳找到花费尽可能少的方案。
给你一个长度为 n 的数组 a ,第 i 个元素表示在位置 i 修建一个支点需 a_i 块石头。
想要桥梁尽可能稳定,第一位和最后一位必须修建支点,且两个相邻支点之间的距离不能超过 k ;同时,为了防备凶悍的覆海龙的攻击,需要在一些指定的位置修建支点。

输入描述:

第一行包含三个整数 n,k,q ( 2 \leq n \leq 3 * 10^5 ,1 \leq k \leq n ,1 \leq q \leq 5 * 10^5 )。,分别表示数组的长度、两个支点间的最大距离,询问次数。
第二行包含 n 个整数 a_1,a_2,a_3...,a_n (1 \leq a_i \leq 10^9) ,其中 a_ia 的第 i 个元素。
接下来 q 行每行表示一次询问(每次询问独立)。
第一行包含一个整数 x_i(2 \leq x_i \leq n - 1),表示需要在 x_i 位置修建节点 。

输出描述:

对每次询问输出一个整数,表示修建指定桥梁所需要使用石头的最小数量
示例1

输入

复制
5 2 1
2 4 1 1 2
3

输出

复制
5

说明

选择支点1、3、5最优
示例2

输入

复制
10 3 1
11 15 11 14 2 10 11 3 7 3
9

输出

复制
37

说明

选择1、3、5、8、9、10节点最优