貝殻は部屋を探します。
このjavaバージョンを参考にしてください。ありがとうございます。
nの長いシーケンスA 1からAnを指定して、すべての区間の1<=L<=R==Nの極差の合計を求めて、【L,R】と定義された最大値と最小値の差入力:5 4 1 8 5出力:60
考え方:外側の層の循環は開始点と最大最小値を決定し、内側の層の循環は始点を巡回した後の要素を使用し、最大最小値を判断する。
nの長いシーケンスA 1からAnを指定して、すべての区間の1<=L<=R==Nの極差の合計を求めて、【L,R】と定義された最大値と最小値の差入力:5 4 1 8 5出力:60
考え方:外側の層の循環は開始点と最大最小値を決定し、内側の層の循環は始点を巡回した後の要素を使用し、最大最小値を判断する。
def computer(data):
count = 0
length = len(data)
for i in range(length-1):
if data[i]>=data[i+1]:
max_1 = data[i]
min_1 = data[i+1]
else:
max_1 = data[i+1]
min_1 = data[i]
for j in range(i+1,length):
if data[j]>=max_1:
max_1 = data[j]
count += (max_1-min_1)
elif data[j]<=min_1:
min_1 = data[j]
count += max_1-min_1
else:
count += max_1-min_1
return count
n = int(input())
num = [int(i) for i in input().split(' ')]
a = computer(num)
print(a)