#include #include constexpr int INF = 1 << 30; void solve() { int c, n; std::cin >> c >> n; std::vector dp(c + 1, INF); dp[0] = 0; while (n--) { int a; std::cin >> a; for (int x = a; x <= c; ++x) { dp[x] = std::min(dp[x], dp[x - a] + 1); } } auto ans = dp[c]; std::cout << (ans == INF ? -1 : ans) << "\n"; } int main() { std::cin.tie(nullptr); std::ios::sync_with_stdio(false); solve(); return 0; }