https://www.acmicpc.net/problem/11497
시간 1초, 메모리 256MB
input :
output :
조건 :
이번에는 반대로 생각해서 틀렸다.
정렬을 해서 제일 큰 숫자부터 2개씩 내려가며 각 높이 차를 구하게 하려 했다. 그러나 통나무들이 짝수개일때 이렇게 하면 계산을 빠지게 되는 경우가 발생한다.
그래서 다시 반대로 앞에서 부터 카운트를 하도록 하자.
앞에서 부터 한다면 어떻게 할 것인가.
홀수 개를 왼쪽에 세우고, 짝수개를 오른쪽에 세운다고 생각을 하자.
고로 1의 옆에는 3이.
2의 옆에는 4가 이렇게 계속 들어오는 것이다.
import sys
t = int(sys.stdin.readline())
for i in range(t):
n = int(sys.stdin.readline())
data = list(map(int, sys.stdin.readline().split()))
data.sort()
ans = -99999
for j in range(2, n):
ans = max(ans, abs(data[j - 2] - data[j]))
print(ans)