P13646 [NOISG 2016] LunchBox

Description

You are the manager of a restaurant. You prepare $N$ lunch boxes and hope to distribute them to some schools. Suppose there are $m$ schools and assume the $i$th school asks for $k_i$ lunch boxes. You aim to distribute the lunch boxes to as many schools as possible. Moreover, you have a rule. For the $i$th school, you give either zero or $k_i$ lunch boxes. Can you make a program that help you to find the maximum number of schools that can receive lunch boxes?

Input Format

Your program must read from standard input. The first line contains 2 integers, $N$ and $m$. Then, it follows by $m$ lines. The $i$th line contains an integer $k_i$.

Output Format

Your program must output one line with a single integer to the standard output, which is the maximum number of schools.

Explanation/Hint

### Sample Explanation In this example, the answer is $3$ since $3 + 4 + 2 \leq 10$ and $3 + 9 + 4 + 2 > 10$. ### Subtasks The maximum execution time on each instance is $0.5s$. Your program will be tested on sets of input instances that satisfies the following restrictions: | Subtask | Marks | Restrictions | |:-------:|:-----:|:------------:| | 1 | 20 | Each instance satisfies $m = 1$, $0 < N \leq 60000$ and $0 < k_i \leq 30000$ | | 2 | 30 | Each instance satisfies $0 < m \leq 1000$, $0 < N \leq 60000$ and $0 < k_i \leq 1000$ | | 3 | 50 | Each instance satisfies $0 < N$, $m \leq 60000$ and $0 < k_i \leq 30000$ |