CFCF2179B.Blackslex and Showering
普及-
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在他的IMO奖牌获得者朋友花了两个小时洗澡(这样“一周内就不用再洗澡了”)之后,Blackslex 要迟到去上课了!
为了赶到教室,Blackslex 必须依次乘坐拥挤的电梯到达多个楼层。因为他是个黑客,他可以跳过最多一个楼层而不被其他人察觉。他所用的时间是每两个相邻楼层编号的差的绝对值之和。给定他可以跳过最多一个楼层,请你求出他所需的最短时间。
更正式地,给定一个长度为 n 的整数数组 a=[a1,a2,…,an],你可以选择最多一个下标 k∈{1,2,…,n} 并删除 ak,使得下式的值最小:
i=1∑n−2∣bi−bi+1∣
其中 b=[a1,…,ak−1,ak+1,…,an] 表示删除 ak 后的数组。请输出最小的总和。
输入格式
第一行包含一个整数 t(1≤t≤104)——测试用例的数量。
每个测试用例的第一行包含一个整数 n(3≤n≤2⋅105)——数组的长度。
每个测试用例的第二行包含 n 个整数 a1,a2,…,an(1≤ai≤100)。
保证所有测试用例中 n 的总和不超过 2⋅105。
输出格式
对于每个测试用例,输出一个整数,表示所需的最短时间。
输入输出样例
输入#1
3 5 4 15 1 7 9 3 2 4 8 6 11 13 17 19 23 29
输出#1
11 2 12
说明/提示
对于第一个测试用例,从 [4,15,1,7,9] 中删除下标 k=2 (即 15)是最优的。新数组为 [4,1,7,9],耗时为 11。对于第二个测试用例,最优删除的是下标 k=3。