Pagini recente » Cod sursa (job #1038711) | Cod sursa (job #1636486) | Cod sursa (job #2403167) | Cod sursa (job #846341) | Cod sursa (job #2636455)
#include <iostream>
#include <fstream>
using namespace std;
int g,w,i,e[1005],c[1005],cmin[100005],j,nj;
int main()
{
ifstream cin("energii.in");
ofstream cout("energii.out");
cin>>g>>w;
for(i=1;i<=g;i++)
{
cin>>e[i]>>c[i];
}
cmin[0]=1;
for(i=1;i<=g;i++)
{
for(j=w;j>=0;j--)
{
nj=j+e[i];
if(cmin[j] && nj<=w)
{
if(!cmin[nj] || cmin[nj]>cmin[j]+c[i])
{
cmin[nj]=cmin[j]+c[i];
}
}
else if(cmin[j] && nj>w)
{
if(!cmin[w] || cmin[w]>cmin[j]+c[i])
{
cmin[w]=cmin[j]+c[i];
}
}
}
}
if(cmin[w]>=1)
cout<<cmin[w]-1<<'\n';
else cout<<"-1"<<'\n';
return 0;
}