https://www.acmicpc.net/problem/10819
시간 1초, 메모리 256MB
input :
output :
조건 :
배열을 나열할 수 있는 모든 방법 중에 위 조건으로 계산을 해서 가장 큰 값을 구하면 된다.
배열에 가장 많은 요소가 들어왔을 때가 8개 인데. 이를 나열 하는 방법은 8! 로 4만 밖에 되지 않는다.
그래서 permutations 메소드를 이용해서 나열 가능한 모든 경우의 수를 가지고 다 계산하자.
import sys
import itertools
n = int(sys.stdin.readline())
data = list(map(int, sys.stdin.readline().split()))
permutation = itertools.permutations(data, n)
ret = -9999
for item in permutation:
cnt = 0
l_idx = 0
r_idx = n - 1
while l_idx < r_idx:
cnt += abs(item[l_idx] - item[r_idx])
l_idx += 1
if l_idx == r_idx:
break
cnt += abs(item[l_idx] - item[r_idx])
r_idx -= 1
ret = max(ret, cnt)
print(ret)