만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

투튜브

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

요약
양쪽이 열린 두 통에 사과 2N개를 나누어 담아, 크기와 꺼내는 순서의 곱을 모두 더한 값이 최소가 되도록 배치하고 그 최솟값을 구합니다.
난이도

어려움10점 중 8점

유형
그리디, 시뮬레이션, 구현
정답자
아직 제출이 없습니다

문제

투튜브의 유명 BJ인 민서는 팬들로부터 많은 사랑을 받고 있다. 팬들은 자신들의 팬심을 표현하기 위해 민서에게 많은 선물을 보내준다. 그 중 민서가 가장 좋아하는 선물은 사과이다. 이 사실을 알게 된 민서의 열혈 팬 성주는 민서에게 특별 포장된 사과 세트를 보내주었다.

문제

며칠이 지나 사과 세트를 받은 민서는 포장 방식을 보고 적잖이 당황하였다. 총 2N2N개의 사과가 들어 있었는데, 2개의 기다란 튜브에 NN개씩 들어 있었다. 각 튜브는 맨 앞과 끝이 뚫려 있어 총 4개의 구멍으로만 사과를 꺼낼 수 있다. 2N2N개의 사과는 각기 다른 크기를 가지며, 크기는 11부터 2N2N까지 중복 없이 정해져 있다. 민서는 사과를 꺼낼 때, 구멍 쪽에 위치한 4개 이하의 사과 중 크기가 가장 작은 사과를 꺼낸다. 이 과정을 2N2N번 반복하여 모든 사과를 튜브에서 꺼내게 된다.

하지만 성주가 선물해 준 사과는 너무 신선하여 민서가 포장을 뜯는 즉시 조금씩 부패하기 시작한다. 양의 정수 TT초의 시간이 지나면, 튜브 안에 들어 있는 사과들은 "크기 × TT"만큼의 부패도를 가지게 되고, 부패도는 누적된다.

성주도 사과가 부패한다는 사실을 잘 알기 때문에, 민서에게 보내기 전에 사과가 최대한 부패하지 않도록 배치하려고 한다. 즉, 총 부패도가 최소가 되도록 하려고 한다. 여러분이 성주의 팬심이 민서에게 전해지도록 도와주자.

입력

첫째 줄에 양의 정수 NN이 주어진다. (1≤N≤10,0001 \le N \le 10,000)

출력

첫째 줄에 최소의 부패도를 출력한다. 둘째 줄과 셋째 줄에 최소의 부패도를 가지는 사과의 배치를 출력한다. 최소의 부패도를 가지는 사과의 배치가 여러 가지 존재할 경우, 그 중 아무거나 출력한다.

예제1

  1. 예제 1

    입력
    2
    
    예상 출력
    35
    1 2
    3 4