// PR Bab 13, soal 2 -- pembahasan. #include using namespace std; const int BESAR = 1000000000; const int MAKS = 1000005; int dp[MAKS]; int c[20]; int main() { int m, k; cin >> m >> k; for (int i = 0; i < m; i++) cin >> c[i]; dp[0] = 0; for (int v = 1; v <= k; v++) { dp[v] = BESAR; for (int i = 0; i < m; i++) { if (v >= c[i] && dp[v - c[i]] + 1 < dp[v]) dp[v] = dp[v - c[i]] + 1; } } cout << (dp[k] >= BESAR ? -1 : dp[k]) << "\n"; return 0; }