준영이의 사랑

시간 제한1초메모리 제한1024 MB

요약
N개의 진주 가치가 주어질 때 원형으로 재배열하여 이웃한 두 값의 곱의 합이 최대가 되는 배치와 그 최댓값을 구한다.
난이도

보통10점 중 7점

유형
그리디, 정렬, 수학, 구현
정답자
아직 제출이 없습니다

문제

선린의 대표 스윗남인 준영이는 여자친구 아스나를 위한 선물을 준비 중이다. 그는 NN개의 진주로 이루어진 원형의 진주 목걸이를 선물해 줄 생각이다.

ii (1≤i≤N)(1 \leq i \leq N)번째 진주알은 가치 P_iP\_{i}를 지닌다. 이 진주알 NN개를 적당한 순서로 재배열하여 목걸이의 가치가 최대가 되는 목걸이를 선물하려고 한다. 이때 임의로 재배열한 후 ii번째 진주알의 가치를 A_iA\_i (1≤i≤N)(1 \leq i \leq N)라 하자. 목걸이의 가치 XX는 서로 인접한 진주알 쌍에 대해 두 진주알의 가치를 곱한 값의 합이다.

수식으로 표현하면 다음과 같다. X=A_1×A_2+A_2×A_3+⋯+A_N−1×A_N+A_N×A_1X=A\_{1}\times A\_{2}+A\_{2}\times A\_{3} + \cdots +A\_{N-1}\times A\_{N}+A\_{N}\times A\_{1}

목걸이의 가치 XX의 최댓값과 그 가치가 나오기 위해 목걸이를 재배열했을 때 ii번째 진주알의 가치 A_iA\_i를 출력하라. 가치가 최대인 목걸이 배치가 여러 가지 존재할 경우, 그 중 하나를 아무거나 출력한다.

입력

첫째 줄에 진주알의 개수 NN이 주어진다.

둘째 줄에 각 진주알의 가치 P_1P\_1, P_2P\_2, ⋯\cdots, P_NP\_N이 공백으로 구분되어 주어진다.

입력으로 주어지는 수는 모두 정수이다.

출력

첫째 줄에 목걸이의 가치의 최댓값 XX를 출력하라.

둘째 줄에 위의 가치가 나오기 위한 목걸이를 재배열하였을 때 각 진주알의 가치에 해당하는 NN개의 수 A_1A\_1, A_2A\_2, ⋯\cdots, A_NA\_N를 공백으로 구분하여 출력하라.

제한

  • 3≤N≤2,0003 \leq N \leq 2\\,000
  • 1≤P_i≤1,0001 \leq P\_{i} \leq 1\\,000 (1≤i≤N)(1 \leq i \leq N)

예제1

  1. 예제 1

    입력
    3
    2 3 5
    
    예상 출력
    31
    2 3 5