#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; typedef long long ll; int main() { int c; scanf("%d", &c); int n; scanf("%d", &n); int a[n]; for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } int dp[c+1]; memset(dp, -1, sizeof(dp)); dp[0] = 0; for (int i = 0; i < n; i++) { for (int j = 0; j < c; j++) { if (dp[j] != -1 && j+a[i] <= c) { if (dp[j+a[i]] == -1) { dp[j+a[i]] = dp[j]+1; }else { dp[j+a[i]] = min(dp[j+a[i]], dp[j]+1); } } } } printf("%d\n", dp[c]); }