#include<iostream>
#define INF 9999
using namespace std;
int dp[20002];
int main()
{
int n,m,i,j;
cin>>n;
int t[n],c[n];
for(int i=1; i<=n; i++)
{
cin>>t[i]>>c[i];
}
cin>>m;
for(int i=1;i<=m;i++){
dp[i] = 1999;
}
for( i=1; i<=n; i++)
for( j=1; j<=c[i]; j++)
for(int k=m; k>=t[i]; k--)
{
dp[k] = min(dp[k],dp[k-t[i]]+1);
}
if(dp[m]==1999) cout<<-1;
else cout<<dp[m];
}
最少硬币问题
最新推荐文章于 2022-03-14 21:44:46 发布