Pagini recente » Cod sursa (job #1421579) | Cod sursa (job #854480) | Cod sursa (job #897582) | Cod sursa (job #2389754) | Cod sursa (job #1168071)
#include <fstream>
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int main()
{
int n,w,i,j,E[1001],C[1001],a[5001],b[5001];
in>>n>>w;
for(i=1;i<=n;i++)
in>>E[i]>>C[i];
for(i=1;i<=w;i++)
b[i]=1000000;
for(i=1;i<=n;i++)
{
for(j=1;j<=w;j++)
{
if(E[i]>=j) a[j]=min(C[i],b[j]);
else a[j]=min(b[j],b[j-E[i]]+C[i]);
}
for(j=1;j<=w;j++) b[j]=a[j];
}
if(a[w]==1000000)
out<<-1;
else
out<<a[w];
}