AcWing 4262. 空调
原题链接
简单
作者:
qing123
,
2024-03-04 19:25:29
,
所有人可见
,
阅读 20
题目描述
"""
将一段子数组加1或者减去1。
原始温度-目标温度为需要改变的数组
计算这个数组的差分数组
目标是使得这个差分数组全为0
因为每次区间操作是一个l+1,r+1减去1,
那么考虑r+1不再区间内的情况,
操作的此时是max(正数和,负数和)
"""
N = int(1e5+10)
P = [0]*N
T = [0]*N
C = [0]*N
n = int(input())
P[1,n+1] = list(map(int,input().split()))
T[1,n+1] = list(map(int,input().split()))
for i in range(1,n+1):
C[i] = P[i]-T[i] #差值
#计算查分数组
res1,res2 = 0,0 #正数
for i in range(1,n+1):
P[i] = C[i]-C[i-1]
if P[i]>0 :
res1+=P[i]
elif P[i]<0:
res2-=P[i]
print(max(res1,res2))