第十题·试题 J: 灵能传输 - 2019年第十届蓝桥杯大赛软件类省赛

题目限制

时间限制: 1.0s 内存限制: 256.0MB 本题总分:25 分

题目描述

【题目背景】
  在游戏《星际争霸 II》中,高阶圣堂武士作为星灵的重要 AOE 单位,在游戏的中后期发挥着重要的作用,其技能”灵能风暴“可以消耗大量的灵能对一片区域内的敌军造成毁灭性的伤害。经常用于对抗人类的生化部队和虫族的刺蛇飞龙等低血量单位。

【问题描述】
  你控制着 n 名高阶圣堂武士,方便起见标为 1, 2, · · · , n。每名高阶圣堂武士需要一定的灵能来战斗,每个人有一个灵能值 ai 表示其拥有的灵能的多少(a i _{i} i非负表示这名高阶圣堂武士比在最佳状态下多余了 a i _{i} i 点灵能,a i _{i} i 为负则表示这名高阶圣堂武士还需要 −a i _{i} i 点灵能才能到达最佳战斗状态)。现在系统赋予了你的高阶圣堂武士一个能力,传递灵能,每次你可以选择一个 i ∈ [2, n − 1],若a i _{i} i ≥ 0 则其两旁的高阶圣堂武士,也就是 i − 1、i + 1 这两名高阶圣堂武士会从i 这名高阶圣堂武士这里各抽取 a i _{i} i 点灵能;若 a i _{i} i < 0 则其两旁的高阶圣堂武士,也就是 i − 1, i + 1 这两名高阶圣堂武士会给 i 这名高阶圣堂武士 −a i _{i} i 点灵能。形式化来讲就是 a i _{i} i−1+ = a i _{i} i, a i _{i} i+1+ = a i _{i} i, a i _{i} i− = 2a i _{i} i
  灵能是非常高效的作战工具,同时也非常危险且不稳定,一位高阶圣堂武士拥有的灵能过多或者过少都不好,定义一组高阶圣堂武士的不稳定度为max i n ^{n}_{i} in= 1 _{1} 1|a i _{i} i|,请你通过不限次数的传递灵能操作使得你控制的这一组高阶圣堂武士的不稳定度最小。

【输入格式】
  本题包含多组询问。输入的第一行包含一个正整数 T 表示询问组数。
  接下来依次输入每一组询问。
  每组询问的第一行包含一个正整数 n,表示高阶圣堂武士的数量。
  接下来一行包含 n 个数 a 1 _{1} 1, a 2 _{2} 2, · · · , a n _{n} n

【输出格式】
  输出 T 行。每行一个整数依次表示每组询问的答案。

【样例输入】
3
3
5 -2 3
4
0 0 0 0
3
1 2 3

【样例输出】
3
0
3

【样例说明】
  对于第一组询问:
  对 2 号高阶圣堂武士进行传输操作后 a 1 _{1} 1 = 3,a 2 _{2} 2 = 2,a 3 _{3} 3 = 1。答案为 3。
  对于第二组询问:
  这一组高阶圣堂武士拥有的灵能都正好可以让他们达到最佳战斗状态。

【样例输入】
3
4
-1 -2 -3 7
4
2 3 4 -8
5
-1 -1 6 -1 -1

【样例输出】
5
7
4

【样例输入】
见文件trans3.in。

【样例输出】
见文件trans3.ans。

【数据规模与约定】
对于所有评测用例,T ≤ 3,3 ≤ n ≤ 300000,|a i _{i} i| ≤ 10 9 ^{9} 9
评测时将使用 25 个评测用例测试你的程序,每个评测用例的限制如下:

评测用例编号 n | a i _i i| 特殊性质
1 = 3 ≤ 1000
2,3 ≤ 5 ≤ 1000
4,5,6,7 ≤ 10 ≤ 1000
8,9,10 ≤ 20 ≤ 1000
11 ≤ 100 ≤ 10 9 ^{9} 9 所有 a i _{i} i非负
12,13,14 ≤ 100 ≤ 10 9 ^{9} 9
15,16 ≤ 500 ≤ 10 9 ^{9} 9
17,18,19 ≤ 5000 ≤ 10 9 ^{9} 9
20 ≤ 5000 ≤ 10 9 ^{9} 9 所有 a i _{i} i非负
21 ≤ 100000 ≤ 10 9 ^{9} 9 所有 a i _{i} i非负
22,23 ≤ 100000 ≤ 10 9 ^{9} 9
24,25 ≤ 300000 ≤ 10 9 ^{9} 9

注意:本题输入量较大请使用快速的读入方式。

解答思路

你可能感兴趣的:(acm,蓝桥杯)