Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #define INF (1<<30)
- #define min(x, y) (x < y ? x : y)
- int x, n, c;
- int dp[100010];
- int main() {
- scanf("%d%d", &x, &n);
- dp[0] = 0;
- for(int i = 1; i <= x; ++i) dp[i] = INF;
- while(n--) {
- scanf("%d", &c);
- for(int i = 0; i <= x - c; ++i) { // reutilizando moedas
- if(dp[i] != INF) {
- dp[i + c] = min(dp[i + c], dp[i] + 1);
- }
- }
- }
- printf("%d\n", dp[x]);
- }
Advertisement
Add Comment
Please, Sign In to add comment