城市的解药
题号:NC292328
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

上回书说到,Askalana开了一间奶茶店。这天,她准备出去采购。
Askalana开着一辆拿来在店门口当免费移动电源的车去了[数据删除]批发市场,位于 k 号停车场不远处。Askalana在第 1 分钟下车进入市场,并在第 t 分钟返回,如果当前车辆在场内,则直接结算停车费离场。否则,大魔法师Askalana会用空间传送之术上车走人。
作为Askalana的司机,你的任务是最小化她的停车费。n 个停车场中,第 i 个停车场每分钟的停车费是 a_i 喵喵币。在每个停车场停车的第一分钟免费,第二分钟及之后,每分钟开始时会使停车费增加 a_i 喵喵币。你可以选择在任意分钟结束前花费当前累计停车费结算出场,消耗 |j - i| 分钟的时间从 i 号停车场前往 j 号停车场,并在该分钟开始时入场。
请计算出你需要花费的最少的停车费。

输入描述:

第一行一个正整数 T,表示测试用例组数
在每组测试用例中:
第一行三个正整数 n(1 \leq n \leq 2 \times 10^5), k(1 \leq k \leq n), t(1 \leq t \leq n),表示停车场总数,初始停车场,返回时间。
第二行 n 个正整数 a_i(1 \leq a_i \leq 10^9),表示每个停车场每分钟的停车费。

输出描述:

对于每组测试用例:
一行一个整数,表示需要花费的最少停车费。
示例1

输入

复制
1
3 1 1
2 2 2

输出

复制
2