[伯俊11497]丸木を飛び越えるpy



問題を理解する


両側の数字と差をできるだけ少なくする

コア


大きい値を中心にして、大きい値を横に置きます.

ソースコード

test = int(input())
for _ in range(test):
    n = int(input())
    num = list(map(int, input().split()))
    num.sort()
    result = 0
    for i in range(2, n):
        result = max(result, abs(num[i] - num[i-2]))
    print(result)
最初は、大数を真ん中にしてから、順番に並べ替えを終えて、差分値を求めます.ほのかに不吉な気配が・・・やはり運転中にエラーが発生しました.😭😭
髪を包む...
答えが見つかった.
[1,3,5,8,10]では,前述のように[1,5,10,8,3]に整理される.
差は、|1-5|、|5-10|、|10-8|、|8-3|である.
これは、リストから2つの格子が飛び出して差を計算したのと同じです.
🎈集中して考えろ!!!