장작 더미
시간 제한1초메모리 제한1024 MB
길이가 주어진 N개의 통나무를 한 개 층과 가로 층이 번갈아 쌓이는 규칙에 따라 쌓을 때 통나무 더미의 최소 높이를 구한다.
문제
아도마스는 겨울을 준비하며 장작 개를 샀다. 모든 장작의 지름은 같지만 길이는 서로 다를 수 있다. 아도마스는 이 장작을 모두 지하실에 쌓으려고 한다.
장작은 다음과 같은 방법으로 쌓는다.
- 바닥에 장작 하나를 눕혀 놓는다.
- 그 위에 아래 장작과 수직(가로) 방향으로 최대한 많은 장작을 올린다. 길이가 인 장작 위에는 최대 개의 장작을 올릴 수 있다.
- 그 층 위에 다시 장작 하나를 아래 장작들과 수직 방향으로 올린다. 이 장작의 길이는 바로 아래에 있는 장작의 개수보다 길 수 없다.
- 그 장작 위에 다시 수직 방향으로 최대한 많은 장작을 올린다. 이렇게 장작 한 개로 이루어진 층과 여러 개로 이루어진 층을 번갈아 쌓아 올린다.

그림 1. 장작 더미의 예.
모든 장작의 지름이 같으므로 각 층의 두께는 모두 같다. 따라서 장작 더미의 높이는 층의 개수와 같으며, 장작 한 개로 이루어진 층과 여러 개로 이루어진 층은 각각 한 층으로 센다.
아도마스는 키가 크지 않아서 장작 더미가 최대한 낮기를 바란다. 모든 장작의 길이가 주어질 때, 위에서 설명한 방법으로 쌓았을 때 가능한 가장 낮은 더미의 높이를 구하여라.
입력
첫째 줄에 장작의 개수 이 주어진다.
둘째 줄에 장작의 길이를 나타내는 개의 정수 가 공백으로 구분되어 주어진다.
출력
장작 더미의 가능한 가장 낮은 높이를 나타내는 정수 하나를 출력한다.
제한
- ()