Skip to content

Instantly share code, notes, and snippets.

@joaogui1
Created May 10, 2016 17:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save joaogui1/84d46358b6ffbd8b2303d585664455ad to your computer and use it in GitHub Desktop.
Save joaogui1/84d46358b6ffbd8b2303d585664455ad to your computer and use it in GitHub Desktop.
#include <cstdio>
#include <cstring>
#include <algorithm>
#define INF 999999999
using namespace std;
int dp [1000500];
int main()
{
int T;
scanf("%d", &T);
for(int z = 0; z< T; z++) {
int coin[100], val, n, i, j;
memset(dp, 0, sizeof(dp));
scanf("%d%d", &n, &val);
for(int i =1;i<=n;i++)
scanf("%d", &coin[i]);
dp[0] = 0;
for(i=1;i<=val;i++) dp[i] = INF;
for(i=1;i<=val;i++)
{
for(j=1;j<=n;j++)
{
if(i - coin[j]>=0)
{
dp[i] = min(dp[i], dp[i-coin[j]] + 1);
}
}
}
printf("%d\n", dp[val]);
}
return 0;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment