#iai1230. 温度校准

温度校准

温度校准

题目描述

在一个房间里,有 N 个位置,每个位置上有一个数字,表示这个位置的温度偏差,其中第 i 个位置的温度偏差为 Aᵢ,Aᵢ 可正可负。

房间里有一台空调,我们的目的是通过控制空调,消除所有温度偏差。

这台空调可以选择两个模式:制冷或制热,以及一个强度参数 x,x 至少为 1,至多为 N。

如果选择制冷模式,再设定 x 之后,空调开始运行,经过一小时后:

  • 最后一个位置的温度下降 x 度
  • 倒数第二个位置的温度下降 x-1 度
  • 倒数第三个位置的温度下降 x-2 度
  • 倒数第 x 个位置的温度会下降 1 度
  • 其他位置保持温度不变。

如果选择制热模式,除了温度从下降改成上升之外与制冷模式没有区别。

空调可以以不同模式、不同强度运行任意多个小时。请问最少需要多少小时,才能让所有位置的温度偏差调成零。

输入格式

  • 第一行:单个整数 N。
  • 第二行:N 个整数 A₁,A₂,…,Aₙ。

输出格式

单个整数,表示最少需要的小时数。

数据范围

  • 对于 30% 的数据,1 ≤ n ≤ 10
  • 对于 60% 的数据,1 ≤ n ≤ 1000
  • 对于 100% 的数据,1 ≤ n ≤ 1000000,-10⁹ ≤ Aᵢ ≤ 10⁹

样例输入 #1

2
-1 1

样例输出 #1

4

题目来源

改编自 USACO 2024 Jan, Balancing Bacteria

本题涉及的知识点从属于 GESP 五级,难度等级:⭐⭐⭐


测试点分布

Subtask 分值 测试点编号 说明
0 10 1~2 样例
1 20 3~8 小规模 N≤10 / 特殊: 全零 / 特殊: 全相同 / 特殊: 交替正负
2 15 9~11 Hack: N=1边界 / Hack: 大数值溢出 / Hack: 全负数
3 30 12~20 中规模 N≈1000~1e5 / 大规模 N≈1e6 压力
4 25 21~25 随机 N=1~1e6 回归