服务窗口前有 n 个人排成一列,第 i 个人办理业务需要 t_i 的时间。
一个人的**等待时间**是他前面所有人办理时间之和(即轮到他时已经过去的总时长)。若某人的等待时间**严格大于**他自己的办理时间 t_i,他就会失望。
窗口允许你**任意重新排列**队伍的顺序(不改变每个人的 t_i)。请你求出:最多能让多少人**不失望**。
第一行一个整数 n。
第二行 n 个整数 t_1, t_2, \dots, t_n,用空格隔开。
一行一个整数,表示不失望人数的最大值。
5 15 2 1 5 3
4
3 1 1 1
2
样例 1:按 `1, 2, 3, 5, 15` 的顺序排队,四人等待时间分别为 0, 1, 3, 6,只有办理时间为 5 的人等待 6 秒失望,其余 4 人不失望。
样例 2:三个 1 依次只能有前两人的等待(0 与 1)不超过 1,第三人等待 2 失望,答案为 2。
| 20% | 1~5 | 20 | n \le 10 |
| 60% | 6~15 | 40(累计 60) | n \le 1000,t_i \le 10^6 |
| 100% | 16~25 | 40(累计 100) | n \le 10^5,t_i \le 10^9 |
对于全部数据,保证 1 \le n \le 10^5,1 \le t_i \le 10^9。
| 时间限制 | 1 秒 |
| 内存限制 | 128 MB |