AtCoder Beginner Contest 173 D - Chat in a Circle【Python】

https://atcoder.jp/contests/abc173/tasks/abc173_d

AtCoder ProblemsでDifficulty: 720、Solve Probability: 35%でした。

規則性を考えたところ降順にソートしたものをA1, A2, A3, A4, A5, A6...とすると答えはA1+A2+A2+A3+A3...となることがわかったため解くことができました。 ​

import math

N = int(input())
A = list(map(int, input().split()))
 
A = sorted(A, reverse=True)
len_A = len(A)
use_A = A[:math.ceil(N/2)]
sum_A = sum(use_A)
if len_A % 2 == 0:
    ans = sum_A * 2 - use_A[0]
else:
    ans = sum_A * 2 - use_A[0] - use_A[-1]
print(ans)