바벨탑

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

바벨은 헬스장에서 흔히 볼 수 있는 운동기구이다. 바벨은 바벨 봉과 바벨 원판으로 이루어져 있으며, 봉의 양쪽에 다양한 무게의 원판을 여러 개 끼워서 무게를 조절할 수 있다. 경기북과학고등학교 헬스장에는 2020kg의 바벨 봉 하나와 55kg, 1010kg, 1515kg, 2020kg 네 종류의 무한히 많은 바벨 원판이 비치되어 있다.

바벨을 이용해서 운동할 때는 아래와 같은 규칙을 지켜야 한다.

  • 처음에는 바벨 봉에 아무것도 끼워져 있지 않고, 바벨을 다 썼다면 다음 사람을 위해 처음 상태로 돌려놓아야 한다.
  • 가장 바깥쪽에서만 원판을 빼거나 끼울 수 있다.
  • 바벨의 양쪽에는 항상 좌우 대칭으로 원판을 끼워야 한다.

55kg, 1010kg, 2020kg 원판을 두 개씩 끼워 만든 올바른 9090kg 바벨의 예시

당신은 바벨을 이용해 총 NN개의 운동을 순서대로 하려고 한다. 운동마다 필요한 무게가 다르기 때문에, 운동 사이사이에 원판을 끼우거나 빼서 무게를 조절해야 한다. 그러나 무거운 원판을 들고 옮기는 것은 번거로운 일이기에, 당신은 최대한 효율적인 방법으로 원판을 옮기고 싶다.

  • 옮긴 원판 무게의 총합이 낮을수록 효율적이다.
  • 옮긴 원판 무게의 총합이 같을 경우, 옮긴 원판의 총개수가 적을수록 효율적이다.

운동의 개수와 각 운동에 필요한 무게가 순서대로 주어질 때, 원판을 옮기는 가장 효율적인 방법을 찾아라.

입력

첫 번째 줄에 운동의 개수 NN이 주어진다. (1N500,000)(1 \leq N \leq 500\\,000)

두 번째 줄에 각 운동에 필요한 무게 A_1,A_2,,A_NA\_1, A\_2, \cdots , A\_N이 공백으로 구분되어 주어진다. (20A_i109;(20 \leq A\_i \leq 10^9; A_i0(mod10))A\_i\equiv 0\pmod {10})

출력

가장 효율적으로 원판을 옮겼을 때, 옮긴 원판의 총무게와 옮긴 원판의 총개수를 공백으로 구분하여 출력한다.