#P0640. 书架承重挑战

书架承重挑战

题目描述

小可要重新整理他的书架,他有 nn 本厚度不同的书,第 ii 本书的厚度为 tit_i 厘米。他想把这些书从下往上堆叠起来放在书架上。

但是小可发现一个重要的承重问题:如果某本书上方所有书的总厚度大于等于这本书本身的厚度,那么这本书的书脊就会被压弯变形!

为了保护好每本书,小可必须确保堆叠时,对于每一本书,它上方所有书的厚度总和都严格小于这本书的厚度。

现在小可想尽可能多地展示他的藏书,请你帮他计算:在满足上述承重限制的前提下,最多能把多少本书堆叠成一摞?

输入格式

第一行包含一个整数 nn,表示书的数量。(1n1000)(1 \le n \le 1000)

接下来的 nn 行,每行包含一个整数 tit_i,表示第 ii 本书的厚度(单位:厘米)。(1ti109)(1 \le t_i \le 10^9)

输出格式

输出一个整数,表示小可最多能堆叠的书的数量。

样例

5
3
20
5
8
6
3

数据范围

  • 1n10001 \le n \le 1000
  • 1ti1091 \le t_i \le 10^9
  • 所有 tit_i 均为整数