BOJ 10819格差最大
4059 ワード
https://www.acmicpc.net/problem/10819
1秒、256 MBメモリ
input : N (3 ≤ N ≤ 8) 整数(-100<=整数<=100) output : 式の最上位出力は である.
条件: |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]| 配列をリストできるすべての方法では、上記の条件で計算し、最大値を求めればよい.
配列に最も多くの要素が入っている場合は8つですこれらをリストアップする方法は8です!4万しかありません.
そこで,配列法を用いて可能なすべての状況の数を計算した.
1秒、256 MBメモリ
input :
条件:
配列に最も多くの要素が入っている場合は8つですこれらをリストアップする方法は8です!4万しかありません.
そこで,配列法を用いて可能なすべての状況の数を計算した.
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)
Reference
この問題について(BOJ 10819格差最大), 我々は、より多くの情報をここで見つけました https://velog.io/@jsin2475/BOJ-10819-차이를-최대로テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol