도미노 넘어뜨리기
면접 대비시간 제한1초메모리 제한512 MB
일렬로 놓인 N개의 무게가 있는 도미노에서 일부를 제거해, 첫 도미노부터 차례로 넘어질 때 각 도미노의 무게가 앞서 넘어진 무게의 합 이하가 되도록 남길 수 있는 최대 개수를 구한다.
문제
개의 도미노가 일렬로 세워져 있다. 도미노에는 무게가 존재하는데, 번째 도미노의 무게는 이다. 단현이는 개의 도미노 중 일부 도미노를 제거할 수 있다. 만약 남은 도미노에서 번째 도미노를 제거하면 번째 도미노의 양옆의 도미노가 이웃하게 된다.
단현이는 이렇게 일부를 제거하고 남은 도미노가 완벽하게 나열되도록 만들고 싶다. 도미노가 완벽하게 나열되었다는 것은, 나열된 도미노에서 첫 번째 도미노를 넘어뜨렸을 때 마지막 도미노까지 차례로 넘어진다는 것을 의미한다.
일부를 제거하고 남은 개의 도미노에서 번째 도미노의 무게를 라고 하자. 번째 도미노가 넘어지기 위해서는 첫 번째 도미노부터 번째 도미노까지 모두 넘어져야 하고, 넘어진 도미노의 무게를 합한 값이 보다 크거나 같아야 한다.
단현이는 개의 도미노에서 일부 도미노를 제거해서 완벽하게 나열되도록 만들고 싶다. 완벽하게 나열할 수 있는 도미노의 최대 개수는 얼마일까?
입력
첫째 줄에 도미노의 개수 이 주어진다.
둘째 줄에 정수 이 주어진다. 는 번째 도미노의 무게이다.
출력
완벽하게 나열할 수 있는 도미노의 최대 개수를 출력한다.