Untitled
unknown
c_cpp
2 years ago
822 B
4
Indexable
#include <bits/stdc++.h> #define ll long long using namespace std ; const int maxn = 1e6+7; ll dp[maxn]; int c[maxn]; int main(){ int a, b; cin >> a >> b; for(int i = 0 ; i <= b ; i++){ dp[i] = 0; } for(int i = 0 ; i < a; i++){ cin >> c[i]; dp[c[i]] = 1; } ll res; if(dp[b] != 0) cout << dp[b]; else{ for(int i = 1 ; i <= b ; i++){ res = 1e16 ; for(int j = 1 ; j < a ; j++){ res = min(dp[i-c[j]] , res); if(dp[i] > 0) continue; if(dp[i-c[j]]!=0){ dp[i] = res +1; res++; } else dp[i] = -1; } // cout << res << ' '; } //cout << dp[7]; //cout << dp[b]; } return 0; }
Editor is loading...