moonvn
Rating
-
Bài tập
1
Điểm
1201
Rating #
-
Điểm #
18291
Giới thiệu
include<bits/stdc++.h>
define endl '\n'
using namespace std;
typedef long long ll;
const int xMax = (int)1e6 + 5;
int c[105];
int f[xMax];
int Try(int n, int x) {
if(x < 0) {
return (int)1e8;
}
if(x == 0) {
return 0;
}
if(f[x] != -1) {
return f[x];
}
int cnt = (int)1e8;
for(int i = 1; i <= n; ++i) {
cnt = min(cnt, Try(n, x - c[i]) + 1);
}
return f[x] = cnt;
}
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n, x;
cin >> n >> x;
for(int i = 1; i <= n; ++i) {
cin >> c[i];
}
fill(&f[1], &f[x + 1], -1);
int res = Try(n, x);
if(res == (int)1e8) {
res = -1;
}
cout << res;
return 0;
}