2100: Saizo

 

Problem A:サイゾウ

問題ページ

解き方

与えられたブロックに対して、登らなけらばならない最大の段差と降りなければならない最大の段差を求めるだけ。

コード(python)

t = int(input())
for _ in range(t):
    n = int(input())
    blocks = list(map(int, input().split()))
    maxv = minv = 0
    for i in range(1, n):
        maxv = max(maxv, blocks[i] - blocks[i-1])
        minv = max(minv, blocks[i-1] - blocks[i])
    print(maxv, minv)