Pagini recente » Cod sursa (job #2170829) | Cod sursa (job #35513) | Cod sursa (job #3121318) | Cod sursa (job #587679) | Cod sursa (job #2031839)
#include <fstream>
using namespace std;
int n,cost,i,j,ans;
int a[1001],b[5001],d[1001][10001];
ifstream fi("energii.in");
ofstream fo("energii.out");
int main()
{
fi>>n;
fi>>cost;
for(i=1;i<=n;i++)
fi>>a[i]>>b[i];
for(i=0;i<=n;i++)
for(j=0;j<=10000;j++)
d[i][j]=300000000;
d[0][0]=0;
for(i=1;i<=n;i++)
for(j=0;j<=10000;j++)
{
d[i][j]=d[i-1][j];
if(j-a[i]>=0)
d[i][j]=min(d[i][j],d[i-1][j-a[i]]+b[i]);
}
ans=d[n][cost];
for(j=cost;j<=10000;j++)
ans=min(ans,d[n][j]);
if(ans==300000000)
fo<<-1;
else
fo<<ans;
return 0;
}