#include #include using namespace std; const int INF = 1000000; int main(){ int C; cin >> C; int N; cin >> N; vector a(N); for (int i = 0; i < N; i++){ cin >> a[i]; } vector dp(C + 1, INF); dp[0] = 0; for (int i = 0; i < N; i++){ for (int j = a[i]; j <= C; j++){ dp[j] = min(dp[j], dp[j - a[i]] + 1); } } if (dp[C] == INF){ cout << -1 << endl; } else { cout << dp[C] << endl; } }